【发布时间】:2013-10-02 06:54:18
【问题描述】:
我正在使用 jqgrid 来显示充满(大学)课程评估的数据库的内容。它由大约 20-25 列和 30k 行组成。
webtool (jqgrid) 的目的是能够过滤数据并将选定的列/行导出到 Excel 和图表。到目前为止,我已经设法让 ExcelExport 正常工作(我正在使用 PHPExcel 来实际创建 xlsx 文件,但并不真正相关),但是发送到服务器的数据不包括任何关于哪些列可见的信息 - 它确实包括过滤器,所以这一切都很好。我正在使用列选择器和过滤器工具栏来显示选定的数据。
基本上,我想将 colModel 与发送到 excelexport 的过滤器一起发送(后来也发送到谷歌图表)。我发现了这种获取 colModel 的方法:
var colModel = $("#list").jqGrid('getGridParam','colModel');
这是 excelexport 函数在 jqgrid 源中的样子:
excelExport : function(o) {
o = $.extend({
exptype : "remote",
url : null,
oper: "oper",
tag: "excel",
exportOptions : {}
}, o || {});
return this.each(function(){
if(!this.grid) { return;}
var url;
if(o.exptype === "remote") {
var pdata = $.extend({},this.p.postData);
pdata[o.oper] = o.tag;
var params = jQuery.param(pdata);
if(o.url.indexOf("?") !== -1) { url = o.url+"&"+params; }
else { url = o.url+"?"+params; }
window.location = url;
}
});
我已经尝试编辑它但没有结果(无法编辑此函数吗?)所以我虽然会进行自己的 ajax 调用,但我真的不知道从哪里开始。编写自己的调用时如何访问 postData?还是有更好的办法?
谢谢!
【问题讨论】: