我有一些相当大的数据(~100k行),每列都有过滤并启用了分页。它全部显示和操纵客户端。
我希望能够导出所有已过滤的结果,而不仅仅是第一页中显示的内容。
解决方法是将分页大小更改为大于结果过滤结果的大小,但这看起来很麻烦。有更好的方法吗?
有人在https://github.com/angular-ui/ui-grid/issues/3954中提出了这个问题,但从未得到答案。
答案 0 :(得分:0)
真的没有办法做到这一点。导出可见导出当前可见的行。分页通过更改哪些行可见来工作 - 因此可见行是当前页面上的行。通过导出所有数据导出所有数据是否可见,因此导出已过滤的行。
从理论上讲,这可以实施,我们需要重新构建" invisibleReason"我认为仍然主要实现但未在代码中使用的标志,然后将visibleReason设置为"分页"在分页功能不可见的那些行上。然后我们可以让导出器手动处理行,并包括那些唯一的invisibleReason分页的行。
它有很多摆弄,但似乎有人可以提交具有该功能的PR。
答案 1 :(得分:0)
我认为这应该可行。
onRegisterApi: function (gridApi) {
gridApi.core.on.rowsVisibleChanged($scope, function () {
// match export enabled per row to visible property. This is in order to force export only of filtered data.
gridApi.grid.rows.forEach(function (row) {
row.exporterEnableExporting = row.visible;
});
});
}