如何解决带分页的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属性的原因。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。