我是一个 jQuery 菜鸟,所以我确定我在这里遗漏了一些简单的东西。
我让 jqGrid 使用从 LINQ-to-Entities 操作创建 JSON 数据的操作。但是当我在浏览器中单击列标题时,行不会排序。上升/下降指标出现,但没有其他反应。
必要的 JavaScript 和 CSS 链接位于母版页标题中:
<script src="/Scripts/jquery-1.3.2.min.js" type="text/javascript"></script> <!-- 用于 jqGrid 的 CSS 和 JavaScript 文件显示在详细信息页面上 --> <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>
这是我的初始化代码:
// jqGrid 设置。 $("#gridlist").jqGrid({ url: '/联系人/GridData', 数据类型:'json', mtype: 'GET', colNames: ['ID', 'First Name', 'Last Name', 'Organization'], col型号:[ { 名称:'id',索引:'id',宽度:40,对齐:'left',可调整大小:true }, { name: 'first_name', index: 'first_name', width: 200, align: 'left', resizable: true, sortable: true, sorttype: "text" }, {名称:'last_name',索引:'last_name',宽度:200,对齐:'left',可调整大小:true,可排序:true,sorttype:“text”}, { 名称:“组织”,索引:“组织”,宽度:300,对齐:“左”,可调整大小:true,可排序:true,排序类型:“文本”}], 寻呼机:jQuery('#pager'), 行号:5, 行列表:[5, 10, 20, 50], 重复项:错误, 观看记录:真实, imgpath: '/scripts/jQuery/jqGrid-3.4.4/themes/green/images', 标题:“联系人” });
这是HTML:
<h3>我的网格数据</h3> <table id="gridlist" class="scroll" cellpadding="0" cellspacing="0"> </table> <div id="pager" class="scroll" style="text-align:center;"> </div>
而且,为了完整起见,操作方法:
公共 ActionResult GridData() { var page = 新 { page = 1 }; IEnumerable 联系人 = _db.ContactSet; 诠释 i = 0; var rows = new object[contacts.Count()]; foreach(联系人中的联系人) { rows[i] = new { id = contact.ID, cell = new[] { contact.ID.ToString(), contact.First_Name, contact.Last_Name, contact.Organization } }; 我++; } var 结果 = 新的 JsonResult(); result.Data = new { page = 1, records = 2, rows, total = 1 }; 返回结果; }
任何想法我在这里缺少什么明显的设置?