我已经在mvc项目中安装了jquery网格,并将其连接到jquery ui。初始加载很好,看到控制器中的操作调用,结果显示为预期。如果我点击任何标题进行排序 - 没有任何反应,操作不会在控制器中调用。我在萤火虫中没有任何错误 - 只是没有事件。
我错过了什么吗?
public ActionResult GetRateTypes(string sidx, string sord, int page, int rows)
{
int totalPages = 1; // we'll implement later
int pageSize = rows;
int totalRecords = 3; // implement later
var jsonData = new
{
total = totalPages,
page = page,
records = totalRecords,
rows = new[]{
new {id = 1, cell = new[] {"1", "-7", "Is this a good question?"}},
new {id = 2, cell = new[] {"2", "15", "Is this a blatant ripoff?"}},
new {id = 3, cell = new[] {"3", "23", "Why is the sky blue?"}}
}
};
return Json(jsonData, JsonRequestBehavior.AllowGet);
}
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery("#list").jqGrid({
url: '/Configuration/GetRateTypes',
datatype: 'json',
mtype: 'GET',
colNames: ['Code', 'Name', 'Rate'],
colModel: [
{ name: 'Code', index: 'Code', width: 40, align: 'left' },
{ name: 'Name', index: 'Name', width: 40, align: 'left' },
{ name: 'Rate', index: 'Rate', width: 400, align: 'left'}],
pager: jQuery('#pager'),
rowNum: 1,
rowList: [5, 10, 20, 50],
sortname: 'Code',
sortorder: "desc",
viewrecords: true,
imgpath: '/css/blitzer/',
caption: 'Interest Rate Types'
});
});
</script>
答案 0 :(得分:0)
可能它没有排序,因为jqGrid不知道如何排序。尝试为colModel属性中的每个列应用'sorttype'属性。 仔细阅读documentation
答案 1 :(得分:0)
如果您使用datatype: 'json'
,则服务器负责数据排序和分页。您当前的服务器代码(GetRateTypes
)不这样做。例如,查看this旧答案,其中显示了如何实现排序和分页。