私はjQueryのnoobですので、ここでは簡単なものがありません。jQueryとASP.NET MVCクライアントビューをjQueryとLINQ-to-Entitiesで並べ替え
LINQとエンティティの操作からJSONデータを作成するアクションで動作するjqGridがあります。しかし、ブラウザの列ヘッダーをクリックすると、行はソートされません。昇順/降順のインジケーターが表示されますが、それ以外のことは起こりません。
必要なJavaScriptとCSSのリンクは、マスターページのヘッダーにあります。
// jqGrid setup. $("#gridlist").jqGrid({ url: '/Contact/GridData', datatype: 'json', mtype: 'GET', colNames: ['ID', 'First Name', 'Last Name', 'Organization'], colModel: [ { name: 'id', index: 'id', width: 40, align: 'left', resizable: true }, { name: 'first_name', index: 'first_name', width: 200, align: 'left', resizable: true, sortable: true, sorttype: "text" }, { name: 'last_name', index: 'last_name', width: 200, align: 'left', resizable: true, sortable: true, sorttype: "text" }, { name: 'organization', index: 'organization', width: 300, align: 'left', resizable: true, sortable: true, sorttype: "text"}], pager: jQuery('#pager'), rowNum: 5, rowList: [5, 10, 20, 50], repeatitems: false, viewrecords: true, imgpath: '/scripts/jQuery/jqGrid-3.4.4/themes/green/images', caption: 'Contacts' });
そして、ここではHTMLです::
<script src="/Scripts/jquery-1.3.2.min.js" type="text/javascript"></script> <!-- CSS and JavaScript files for jqGrid to display on Details pages --> <link rel="stylesheet" type="text/css" href="/scripts/jQuery/jqGrid-3.4.4/themes/green/grid.css" title="green" media="screen" /> <script src="/Scripts/jQuery/jqGrid-3.4.4/jquery.jqGrid.js" type="text/javascript"></script> <script src="/Scripts/jQuery/jqGrid-3.4.4/js/jqModal.js" type="text/javascript"></script> <script src="/Scripts/jQuery/jqGrid-3.4.4/js/jqDnR.js" type="text/javascript"></script>
ここに私の初期化コードです
<h3>My Grid Data</h3> <table id="gridlist" class="scroll" cellpadding="0" cellspacing="0"> </table> <div id="pager" class="scroll" style="text-align:center;"> </div>
そして、完全性のために、アクションメソッド:
public ActionResult GridData() { var page = new { page = 1 }; IEnumerable contacts = _db.ContactSet; int i = 0; var rows = new object[contacts.Count()]; foreach (Contact contact in contacts) { rows[i] = new { id = contact.ID, cell = new[] { contact.ID.ToString(), contact.First_Name, contact.Last_Name, contact.Organization } }; i++; } var result = new JsonResult(); result.Data = new { page = 1, records = 2, rows, total = 1 }; return result; }
どのようなアイデアがここにないのですか?
すべての回答を削除し、最新の情報を提供することを検討しますか?結果はプロセスではなく重要です。 – Basic