Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.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
Javascript 在jqGrid中使用JSON时,客户端分页不起作用_Javascript_Jquery_Asp.net_Json_Jqgrid - Fatal编程技术网

Javascript 在jqGrid中使用JSON时,客户端分页不起作用

Javascript 在jqGrid中使用JSON时,客户端分页不起作用,javascript,jquery,asp.net,json,jqgrid,Javascript,Jquery,Asp.net,Json,Jqgrid,我是jQuery和jqGrid的新用户。我正在尝试使用客户端分页实现jqGrid。这在我这边不起作用。我正在使用.NET4.0Web服务获取json响应 这是我的web服务代码 public string GetMessage(string FDate,string TDate,string Status) { databaseDataContext dc = new databaseDataContext(); var v = (from v1 in dc.WBS_MESSAGEs whe

我是jQuery和jqGrid的新用户。我正在尝试使用客户端分页实现jqGrid。这在我这边不起作用。我正在使用.NET4.0Web服务获取json响应

这是我的web服务代码

 public string GetMessage(string FDate,string TDate,string Status)
{
 databaseDataContext dc = new databaseDataContext();
var v = (from v1 in dc.WBS_MESSAGEs
where v1.TransStatus ==  Status && v1.CreatedDate >= fromDate
                 && v1.CreatedDate <= toDate
                 select new
                 {
                     v1.MessageID,
                     v1.Task,
                     v1.Remark,
                     v1.CreatedDate,
                     Object = (v1.ObjectID == "2" ? "Business Partner" :
                         v1.ObjectID == "30" ? "Journals" : "Unknown")
                 });
        if (v.Count() > 0)
        {

            System.Web.Script.Serialization.JavaScriptSerializer js = new 
                  System.Web.Script.Serialization.JavaScriptSerializer();
            return js.Serialize(v.ToList());
        }
        else
        {
            return null;
        }
}
我被困在这里了


您的帮助将非常可观。

我希望您的jQgrid定义没有问题。我已经用本地数据尝试了你的代码。它很好用。你需要检查两件事。首先,不管ajax函数是否从web服务返回数据。其次,如果返回,请检查它是否提供了正确的数据类型(在您的示例中是
json

我删除了几行代码,简化了代码

$(document).ready(function (event) {

var mydata = [
  { MessageID: '1', Object: 'sample text', Task: 'Task 1', CreatedDate: '20140226',Remark: 'good'},
  { MessageID: '2', Object: 'sample 1', Task: 'Task 1', CreatedDate: '20140226',Remark: 'good'},
  { MessageID: '3', Object: 'sample 2', Task: 'Task 2', CreatedDate: '20140226',Remark: 'good'},
  { MessageID: '4', Object: 'sample 3', Task: 'Task 3', CreatedDate: '20140226',Remark: 'good'},
  { MessageID: '5', Object: 'sample 4', Task: 'Task 4', CreatedDate: '20140226',Remark: 'good'},
  { MessageID: '6', Object: 'sample 5', Task: 'Task 5', CreatedDate: '20140226',Remark: 'good'},
  { MessageID: '7', Object: 'sample 6', Task: 'Task 6', CreatedDate: '20140226',Remark: 'good'},
  { MessageID: '8', Object: 'sample 6', Task: 'Task 7', CreatedDate: '20140226',Remark: 'good'},
  { MessageID: '9', Object: 'sample 4', Task: 'Task 8', CreatedDate: '20140226',Remark: 'good'},
  { MessageID: '10',Object: 'sample 6', Task: 'Task 9', CreatedDate: '20140226',Remark: 'good'},
  { MessageID: '11',Object: 'sample 7', Task: 'Task 1', CreatedDate: '20140226',Remark: 'good'},
  { MessageID: '12',Object: 'sample 7', Task: 'Task 1', CreatedDate: '20140226',Remark: 'good'}
    ];

 jQuery("#listArray").jqGrid({
            datatype: 'local', 
            data: mydata, 
            colNames: ['Message ID', 'Object', 'Task', "CreatedDate", 'Remark'],
            ajaxGridOptions: { contentType: 'application/json; charset=utf-8' },
            colModel: [
                            { name: 'MessageID', index: 'MessageID asc', sortable: true, align: "center", width: 55 },
                            { name: 'Object', index: 'Object', width: 120, jsonmap: "Object" },
                            { name: 'Task', index: 'Task', width: 80, jsonmap: "Task", align: "center" },
                            { name: 'CreatedDate', index: 'CreatedDate', jsonmap: "CreatedDate", align: "center", formatter: 'date', formatoptions: { srcformat: 'yyyyMMdd', newformat: 'd-M-y @ H:i:s' }, width: 140 },
                            { name: 'Remark', index: 'Remark', width: 300, jsonmap: "Remark" }
                        ],
            loadtext: "Loading...",
            rowNum:10,
            rowList: [10,20,50],
            pager: '#jqPager', 
            viewrecords: true,
            caption: "Success",
            height: 'auto',
            refreshtext:'Refresh',
            emptyrecords: "No records to view"
        });
        jQuery("#listArray").jqGrid('navGrid', '#jqPager', { edit: false, add: false, del: false  });
各自的Html部分

<table id="listArray">
<tr>
    <td />
</tr>
</table>
<div id="jqPager"></div>

您可以检查相应的


希望这有助于您确定您的问题。

您的网格似乎没有填充数据。是吗?你确定,只是分页不起作用吗?嗨,维诺,谢谢你的回复。。。我在部分中尝试了您的建议,您的代码正在运行。我将我的代码与你的代码进行比较,除了响应之外,它没有任何区别。所有数据都是一笔完成的。。。下面是我的json响应。。。我看到createdate响应中的差异。[{“MessageID”:14,“任务”:“U”,“备注”:“SAP Business One中更新的客户”,“createdate”:“\/Date(1393476527177)\/”,“Object”:“Business Partner”}]。。。这是第一张唱片。。它有大约6条记录,我将分页设置为2行,因此您需要检查响应数据并根据该数据修改列定义。我还观察到,这个数字(创建日期)并不表示任何类型的日期。这是什么样的日期格式?。在你们的数据中你们提到了正确的日期,但在网格中它显示了一些无效的日期。(01-Jan-70@00:00:00良好)
<table id="listArray">
<tr>
    <td />
</tr>
</table>
<div id="jqPager"></div>