Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jqgrid排序和分页问题_Jqgrid - Fatal编程技术网

jqgrid排序和分页问题

jqgrid排序和分页问题,jqgrid,Jqgrid,我正在实现一个基于在线示例的jqgrid。数据出来了,但排序/页面不起作用。我缩小了问题的范围:由于json.responsetext中的特殊字符导致解析错误,因此我尝试在页面中包含jquerySpecialCharHandler.js,但没有帮助。我将在此处包括我的页面和我的控制器操作/功能 jQuery(document).ready(function() { jQuery("#list").jqGrid({ url: '/Home/DynamicGridData/'

我正在实现一个基于在线示例的jqgrid。数据出来了,但排序/页面不起作用。我缩小了问题的范围:由于json.responsetext中的特殊字符导致解析错误,因此我尝试在页面中包含jquerySpecialCharHandler.js,但没有帮助。我将在此处包括我的页面和我的控制器操作/功能

jQuery(document).ready(function() {
    jQuery("#list").jqGrid({
        url: '/Home/DynamicGridData/',
        datatype: 'json',
        mtype: 'GET',
        colNames: ['Policy', 'Policy Rule','Alert Status','Alert Code',
                   'Message','Category'],
        colModel: [
            { name: 'Policy', index: 'Policy', sortable: true, sorttype: 'text',
              align: 'left', resizable: true },
            { name: 'Policy Rule', index: 'Policy Rule', sortable: true,
              sorttype: 'text', align: 'left', resizable: true },
            { name: 'Alert Status', index: 'AlertStatus', sortable: true,
              align: 'left', resizable: true },
            { name: 'Alert Code', index: 'AlertCode', sortable: true,
              align: 'left', resizable: true },
            { name: 'Message', index: 'Message', sortable: true,
              align: 'left', resizable: true },
            { name: 'Category', index: 'Category', sortable: true,
              align: 'left', resizable: true}],
        pager: $("#pager"),
        rowNum: 10,
        rowList: [5, 10, 20, 50, 100],
        scroll: true,
        sortname: 'Policy',
        sortorder: 'acs',
        autowidth: true,
        viewrecords: true,
        imgpath: '/scripts/themes/coffee/images',
        caption: 'Nebo System Alerts'
    });
}); 
我的职能是:

public ActionResult DynamicGridData(string sidx, string sord, int page, int rows){
    var context = new AlertsManagementDataContext();
    int pageIndex = Convert.ToInt32(page) - 1;
    int pageSize = rows;
    int totalRecords = context.Alerts.Count();
    int totalPages = (int)Math.Ceiling((float)totalRecords / (float)pageSize);
    IQueryable<Alert> alerts = null;
    try
    {
        alerts =  context.Alerts.
                  OrderBy(sidx + " " + sord).
                  Skip(pageIndex * pageSize).
                  Take(pageSize);
    }catch(ParseException ex){
        Response.Write(ex.Position + ex.Message);
    }
    var jsonData = new {
        total = totalPages,
        page = page,
        records = totalRecords,
        rows = (
            from alert in context.Alerts
            select new {
                id = alert.AlertId,
                cell = new string[] {
                    alert.Policy.Name.ToString(),alert.PolicyRule.ToString(),
                    alert.AlertStatus.Status.ToString(), alert.Code.ToString(),
                    alert.Message.ToString(),alert.Category.Name.ToString()
                }
            }).ToArray()
    };
    return Json(jsonData);
}

不用说,我已经看过几个例子,但我的数据中的特殊字符似乎是问题所在,没有得到处理,我感谢任何帮助/建议

给定System.Linq.Dynamic.ParseException,在我看来,该错误似乎存在于C代码中的警报枚举中。尝试在调试期间查看这些结果,尤其是.ToArray的结果。我怀疑这是JavaScript问题。

好的,我发现了问题。json中的警报应该是警报,警报是受排序和分页影响的数据集,我想,如果其他人面临同样的问题,我会给出答案,这可能会对他们有所帮助。

您使用哪种数据库模型:LINQ到SQL还是实体框架?如果您使用实体框架,则不需要使用System.Linq.Dynamic。感谢您的回复,我在我的一个专栏中看到了一些打开和关闭的偏执信息,经过研究,我发现这些是特殊字符,在文本中应与\\组合,以作为文本的一部分,您在json.result中是否遇到过返回datagrid的特殊字符?如果遇到了,您能在这里再次分享这部分代码吗thanks@Sue,我认为这不会导致System.Linq.Dynamic.ParseException。您对System.Linq.Dynamic的调用似乎没有使用该专栏。我是新来的,所以请原谅我,如果这听起来太简单了!我认为消息列被添加到我选择所有列的单元格中,而消息列则被添加到该调用中。但是你得到的例外不是来自那里。正如消息所说,它来自System.Linq.Dynamic.ParseException。请尝试早些时候评估警报。我将在枚举特殊字符或语法中注意什么?
addJSONData(eval("("+JSON.responseText+")"),ts.grid.bDiv)