Grid 切换到服务器端分页后显示网格数据
我正在将我的应用程序转换为使用剑道网格UI的服务器端分页。在将serverPaging切换为true之前,我正确地显示了我的网格内容,并在客户端进行了分页。然而,一旦我打开服务器分页,我的数据就不再可见了。我已经检查了网络呼叫,我的数据正在按预期返回(总共8条记录中只有2条记录),但我没有在网格中看到它 以下是网格结构:Grid 切换到服务器端分页后显示网格数据,grid,kendo-ui,paging,Grid,Kendo Ui,Paging,我正在将我的应用程序转换为使用剑道网格UI的服务器端分页。在将serverPaging切换为true之前,我正确地显示了我的网格内容,并在客户端进行了分页。然而,一旦我打开服务器分页,我的数据就不再可见了。我已经检查了网络呼叫,我的数据正在按预期返回(总共8条记录中只有2条记录),但我没有在网格中看到它 以下是网格结构: $v.KendoGrid.makeGrid(gridName, { columns: [ { field: 'IdentifierCode', title: 'Us
$v.KendoGrid.makeGrid(gridName, {
columns: [
{ field: 'IdentifierCode', title: 'User Name' },
{ field: 'CompanyName', title: 'Company' },
{ field: 'Email', title: 'Email' }
],
dataSource: {
pageSize: 2,
schema: {
data: 'Data', // records are returned in the data section of the response
model: {
id: 'Id',
fields: {
IdentifierCode: { type: 'string' },
CompanyName: { type: 'string' },
Email: { type: 'string' }
}
},
total: 'Total' // total number of records are in the total section of the response
},
serverPaging: true,
transport: {
read: {
url: window.urlConfigs.root + "Security/UserAccount/PagedListing"
dataType: "json",
type: "GET"
}
}
},
editable: false,
filterable: true,
height: 464,
pageable: true,
scrollable: true,
sortable: true
});
以下是MVC控制器方法:
public ActionResult PagedListing(int pageSize, int skip)
{
var entities = ReadRepo.All();
var total = entities.Count();
var data = entities.Skip(skip).Take(pageSize).Select(MapEntityToViewModel).ToList();
return Json(new { Total = total, Data = data }, JsonRequestBehavior.AllowGet);
}
这是我在网络通话中得到的数据:
{"Total":8,"Data":[{"Id":"928f0bb2-608b-417b-bf6e-e5c58f85fec2","IdentifierCode":"admin","FirstName":"Administrator","MiddleName":"of","MiddleNameHuman":"of","LastName":"GasStream","DisplayName":"Administrator of GasStream","Email":"admin@example.com","IsExternal":false,"UserTypeHuman":"Internal","CompanyId":"75bb05a4-1ec2-4042-aeba-a229008aca9f","CompanyName":"Entessa Pipeline & Terminal, MLP","CompanyIdentifierCode":"SHA","Password":"wFg/a/NEU6WM8z4YZBUduitIDROfeFz/+Za6leAHnBE=","PasswordChanged":false,"ForceNewPasswordFlag":false,"Settings":[],"RoleGroups":[]},{"Id":"47c29025-cfa8-4447-9ab7-a229008ad088","IdentifierCode":"contractcarl","FirstName":"Carl","MiddleName":null,"MiddleNameHuman":"","LastName":"Smithers","DisplayName":"Carl Smithers","Email":"carl@entessa.com","IsExternal":false,"UserTypeHuman":"Internal","CompanyId":"75bb05a4-1ec2-4042-aeba-a229008aca9f","CompanyName":"Entessa Pipeline & Terminal, MLP","CompanyIdentifierCode":"SHA","Password":"IWdH+qDIOucNrre6V4AgI6Exm2Vq5qkIdXdsWfP6jn4=","PasswordChanged":false,"ForceNewPasswordFlag":false,"Settings":[],"RoleGroups":[]}]}
我怀疑我错过了一些小的东西,但是在看了这个并尝试了各种可能的解决方法之后,我看不到它,所以我请求一些帮助。我想,一旦我从服务器获得返回小集合的数据,事情就会变得简单
提前感谢,
德鲁我终于找到了答案。$v.KendoGrid是一个包装KendoGrid调用本身的方法,其中的某些内容被重置为当数据从服务器返回时无法正确解析,并正确分页 此后,我重新处理了这一混乱局面,以便在$v.KendoGrid调用中为我的网格类型建立必要的参数 谢谢你的帮助,眼睛能抓住逗号,布雷特
Drew您在读取传输部分的
url
后缺少一个逗号。这里有一个JSFIDLE,它与您所拥有的完全相同,只是读取传输已更改为使用本地数据:。我不知道还能是什么。