jQGrid 没有在滚动时加载下一页记录
jQGrid not loading the next page records on scroll
我正在实施 jQGrid.For 第一次我能够获得十条记录,但是当我滚动到 end.But 时我想绑定另外十条记录这不是 happening.Is 任何我遗漏的东西,但我查看了 jQGrid 网站,它在 3.6 版本下具有相同的设置(http://www.trirand.com/blog/jqgrid/jqgrid.html)真正的滚动行
jQuery("#jqgrid").jqGrid({
url: 'http://localhost:7887/application/get',
mtype:'GET',
datatype: "json",
colNames: ['Application ID', 'Application Name', 'PageLink', 'CreatedDate',"Rank"],
colModel: [
{ name: 'ApplicationId', key: true, width: 75 },
{ name: 'ApplicationName', width: 150 },
{ name: 'PageLink', width: 150 },
{ name: 'CreatedDate', width: 150 },
{ name: 'RNK', width: 150 }
],
rowNum: 10,
height: 180,
records: 1000,
rownumbers:true,
scroll: 1,
viewrecords: true,
gridview: true,
caption:"Loading data while scrolling"
})
下面是我的部分回复数据
{[
{
"ApplicationId": 1,
"ApplicationName": "Home",
"PageLink": "~/web/Index.aspx",
"CreatedDate": "2013-08-14T12:09:07.93",
"RNK": 1
},
{
"ApplicationId": 2,
"ApplicationName": "Land",
"PageLink": "~/Web/Q1/Home.aspx",
"CreatedDate": "2013-08-14T12:09:07.93",
"RNK": 2
},
{
"ApplicationId": 3,
"ApplicationName": "Applications",
"PageLink": "~/Web/Q2/Application/APL.aspx",
"CreatedDate": "2013-08-14T12:09:07.93",
"RNK": 3
}
,.......10 records
]}
jqGrid 支持客户端排序和服务器端排序。
如果您使用 loadonce: true
那么服务器应该 return 所有数据 返回网格。如果用户稍后单击列 header,数据将按 jqGrid 排序。如果您仅通过调用 filterToolbar
添加过滤器工具栏,那么您将为用户提供过滤数据的可能性。您无需编写额外的服务器代码。
您当前的代码从服务器加载数据页面并且不在本地保存任何数据(它仅在 HTML 页面上保存数据)。因此,了解您必须在 服务器端 .
上实现数据的排序、分页和可选的 filtering/searching 非常重要
要实现服务器端分页你必须非常清楚客户端和服务器之间的接口。首先,您应该删除 scroll: 1
并添加 pager
或 toppager
。之后你会在网格中看到如下所示的线(在网格的底部或顶部)
The server response 应包含三个属性:page
、total
和 records
,它们将放置在寻呼机上。其他分页器元素
允许用户更改页面大小并向服务器发送有关新数据页面的请求。如果 jqGrid 显示第一页,那么 "First" 和 "Previous" 按钮将被禁用。如果 jqGrid 显示最后一页,则 "Next" 和 "Last" 按钮将被禁用。 如果服务器响应中缺少属性 page
、total
和 records
那么所有分页可能性都将被禁用 因为 jqGrid 将响应解释为只有一页数据。
如果您使用 scroll: 1
而不是 pager
或 toppager
那么用户看不到寻呼机,但是由于同样的原因,寻呼机被禁用了。
我正在实施 jQGrid.For 第一次我能够获得十条记录,但是当我滚动到 end.But 时我想绑定另外十条记录这不是 happening.Is 任何我遗漏的东西,但我查看了 jQGrid 网站,它在 3.6 版本下具有相同的设置(http://www.trirand.com/blog/jqgrid/jqgrid.html)真正的滚动行
jQuery("#jqgrid").jqGrid({
url: 'http://localhost:7887/application/get',
mtype:'GET',
datatype: "json",
colNames: ['Application ID', 'Application Name', 'PageLink', 'CreatedDate',"Rank"],
colModel: [
{ name: 'ApplicationId', key: true, width: 75 },
{ name: 'ApplicationName', width: 150 },
{ name: 'PageLink', width: 150 },
{ name: 'CreatedDate', width: 150 },
{ name: 'RNK', width: 150 }
],
rowNum: 10,
height: 180,
records: 1000,
rownumbers:true,
scroll: 1,
viewrecords: true,
gridview: true,
caption:"Loading data while scrolling"
})
下面是我的部分回复数据
{[
{
"ApplicationId": 1,
"ApplicationName": "Home",
"PageLink": "~/web/Index.aspx",
"CreatedDate": "2013-08-14T12:09:07.93",
"RNK": 1
},
{
"ApplicationId": 2,
"ApplicationName": "Land",
"PageLink": "~/Web/Q1/Home.aspx",
"CreatedDate": "2013-08-14T12:09:07.93",
"RNK": 2
},
{
"ApplicationId": 3,
"ApplicationName": "Applications",
"PageLink": "~/Web/Q2/Application/APL.aspx",
"CreatedDate": "2013-08-14T12:09:07.93",
"RNK": 3
}
,.......10 records
]}
jqGrid 支持客户端排序和服务器端排序。
如果您使用 loadonce: true
那么服务器应该 return 所有数据 返回网格。如果用户稍后单击列 header,数据将按 jqGrid 排序。如果您仅通过调用 filterToolbar
添加过滤器工具栏,那么您将为用户提供过滤数据的可能性。您无需编写额外的服务器代码。
您当前的代码从服务器加载数据页面并且不在本地保存任何数据(它仅在 HTML 页面上保存数据)。因此,了解您必须在 服务器端 .
上实现数据的排序、分页和可选的 filtering/searching 非常重要要实现服务器端分页你必须非常清楚客户端和服务器之间的接口。首先,您应该删除 scroll: 1
并添加 pager
或 toppager
。之后你会在网格中看到如下所示的线(在网格的底部或顶部)
The server response 应包含三个属性:page
、total
和 records
,它们将放置在寻呼机上。其他分页器元素
允许用户更改页面大小并向服务器发送有关新数据页面的请求。如果 jqGrid 显示第一页,那么 "First" 和 "Previous" 按钮将被禁用。如果 jqGrid 显示最后一页,则 "Next" 和 "Last" 按钮将被禁用。 如果服务器响应中缺少属性 page
、total
和 records
那么所有分页可能性都将被禁用 因为 jqGrid 将响应解释为只有一页数据。
如果您使用 scroll: 1
而不是 pager
或 toppager
那么用户看不到寻呼机,但是由于同样的原因,寻呼机被禁用了。