jqgrid を使用して、(大学の) コース評価で満たされたデータベースの内容を表示しています。約 20 ~ 25 列、3 万行で構成されます。
webtool (jqgrid) の目的は、データをフィルタリングし、選択した列/行を Excel や図にエクスポートできるようにすることです。これまでのところ、ExcelExportを機能させることができました(PHPExcelを使用して実際にxlsxファイルを作成していますが、実際には関連していません)が、サーバーに送信されたデータには、どの列が表示されるかについては何も含まれていません-それただし、フィルターが含まれているので、それで問題ありません。列チューザーとフィルターツールバーを使用して、選択したデータを表示しています。
基本的に、colModel を、excelexport に送信されたフィルターと共に送信したいと考えています (後で Google チャートにも送信します)。colModel を取得する次の方法を見つけました。
var colModel = $("#list").jqGrid('getGridParam','colModel');
これは、jqgrid ソースでの excelexport 関数の外観です。
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 にアクセスするにはどうすればよいですか? それとももっと良い方法がありますか?
ありがとうございました!