javascript - 带分页的 Ag-grid 树视图
问题描述
我有一个 ag-grid,它具有以下 gridOptions:
var gridOptions = {
headerHeight: 0,
columnDefs: columnDefs,
defaultColDef: {
initialFlex: 1,
width: 240,
resizable: true,
},
treeData: true,
pagination: true,
animateRows: true,
rowSelection:'single',
rowModelType: "serverSide",
cacheBlockSize: defaultRecordsPerPage,
paginationPageSize: defaultRecordsPerPage,
autoGroupColumnDef: {
headerName: "Accounts",
cellRendererParams: {
checkbox: true,
suppressCount: true,
innerRenderer: function (params) {
// display employeeName rather than group key (employeeId)
const entity = params.data;
var details = `${entity.AccountName} [${entity.AccountNumber}]`;
if(entity.IsMoneyAccount) {
details = `${entity.AccountName} [${entity.Currency}, ${entity.AccountNumber}]`;
}
return details;
},
},
},
isServerSideGroup: function (dataItem) {
return dataItem.Children;
},
getServerSideGroupKey: function (dataItem) {
return dataItem.ID;
},
};
dataSource
函数如下所示:
function createServerSideDatasource() {
return {
getRows: function (params) {
var data = {
itemsPerPage: defaultRecordsPerPage,
page: (params.request.endRow / defaultRecordsPerPage) - 1
};
if (params.parentNode.data) {
var children = params.parentNode.data.Children;
params.successCallback(children, children.length);
} else {
myApi.get(data, {
url: "/home/accounts-tree-data",
success: function (response) {
params.successCallback(response.data, response.recordsTotal);
}
});
}
}
}
}
defaultRecordsPerPage
设置为 2,因此我可以使用多个页面测试内容。
当我展开其中一个父母时,孩子们在第二个元素之后重复。例如:
- Parent
-- Child1
-- Child2
-- Child1
-- Child2
我希望得到以下结果:
- Parent
-- Child1
-- Child2
-- Child3
-- Child4
我究竟做错了什么?这种行为是预期的吗?我从我的请求中收到的数据包含他们的孩子的父母列表,我不想每次展开 Parent 元素时都发出额外的请求,这就是我检查 parentNode.data 属性的原因。
解决方案
推荐阅读
- asp.net-mvc - 带有 IdentityServer4 的 ASP.NET MVC 5:登录 url 和访问被拒绝
- scala - 如何通过迭代scala中的列表来添加转换后的对象进行设置
- swift - 我应该使用哪个路径上传到 Dropbox 中的团队文件夹
- javascript - VueJS将参数传递给弹出“对话框”
- javascript - 如何在 React JS 组件中预加载图像?
- amazon-web-services - 在哪里可以找到 Lambda@Edge 的日志?
- javascript - 使用带有 OpenStreetMaps 的 Leaflet 来勾勒建筑物
- c - make 失败,链接器抱怨重复符号
- python - 如何使用请求或其他模块从 url 不变的页面获取数据?
- swift - 使用 CGAffineTransforms 的 Swift 动画链接