我有一个包含9000多个元素的enhancedGrid,初始化如下:
var grid_invoices = new dojox.grid.EnhancedGrid({
id: 'grid_invoices',
keepSelection: true,
rowSelector: false,
selectable: true,
escapeHTMLInData: false,
rowsPerPage: 250,
keepRows: 1000,
delayScroll: true,
noDataMessage: "Aucun résultat",
queryOptions: {ignoreCase: true},
plugins: {
indirectSelection: {headerSelector:true, styles:"text-align: center;padding:5px;"},
search: false
}
},
document.createElement('div'));
我需要对网格的选定元素进行csv导出。如果我选择< = 1000个元素没问题,这里是实际代码
var downloadPdfIframeName = "downloadPdfIframe",
iframe = dojo.io.iframe.create(downloadPdfIframeName),
count = grid_invoices.selection.getSelectedCount();
if (count > 0 && count < 1000) {
var lst = getGridSelection('grid_invoices', 'id'),
ids = lst.join(',');
dojo.io.iframe.setSrc(iframe, "/invoices/exportcsv/ids/" + ids, true);
} else if (count == 0) {
dojo.io.iframe.setSrc(iframe, "/invoices/exportcsv?" + dojo.objectToQuery(getSearchFilterInvoice()), true);
}
现在,我希望能够导出我想要的任何元素(可能> 1000),但我不知道从哪里开始。
网格是一个延迟加载的网格,因此不可能通过一个简单的查询检索所有ID,即使可能,我也不能将ID链接到GET HTTP QUERY(查询限制)
我想做类似&#34; 看看是否所有内容都被选中并构建自定义php过滤器&#34;但如果用户选择了5000条记录,我就不知道该做什么。
有人能指出我的好方向吗?