В моем проекте было слишком много страниц сетки, и это был настоящий беспорядок, поэтому я решил создать один общий файл сетки с конфигурациями, и каждый раз одна и та же страница загружала разные конфигурации в зависимости от страницы, которую посещает пользователь. План работал безупречно, пока я не столкнулся с проблемой печати сетки с внешними фильтрами и прочим. Это общий файл сетки:
Чтобы напечатать в Excel, я использую кнопку, которая переходит к функции Javascript с именем сетки в качестве параметра (есть также кнопка, встроенная в сетку, которую можно использовать)
function fnMenuXMLExport(gridFile, pageType) {
if (!pageType) {
pageType = jQuery("#grid").jqGrid('getGridParam', 'postData').pagetype || '';
}
if (!pageType) {
alert('Missing page type for Excel export!');
return;
}
var exportUrl = gridFile + '?pagetype=' + encodeURIComponent(pageType) + '&oper=excel';
jQuery("#grid").jqGrid('excelExport', { url: exportUrl });
}
Лучший результат, который я получил, — это загрузить файл Excel, который на самом деле был нечитаемым. Я хочу знать, есть ли простой способ распечатать файл Excel с пользовательскими фильтрами из абстрактной сетки. Если нет, я просто забуду абстракцию
В моем проекте было слишком много страниц сетки, и это был настоящий беспорядок, поэтому я решил создать один общий файл сетки с конфигурациями, и каждый раз одна и та же страница загружала разные конфигурации в зависимости от страницы, которую посещает пользователь. План работал безупречно, пока я не столкнулся с проблемой печати сетки с внешними фильтрами и прочим. Это общий файл сетки: [code] [/code] а это пример конфигурации: [code] $configs['sell_list'] = array( 'query' => "SELECT (...)", 'adminquery' => "SELECT (...)", 'table' => 'tblwastesales', 'sortname' => 'PKSaleID', 'sortorder' => 'desc', 'caption' => 'final receivers', 'columns' => array( 'Company' => array( "width" => 60, "align" => "left"), 'sls_datefixed' => array( "formatter" => "date", "width" => 20, "align" => "center", "formatoptions" => array("srcformat" => "Y/m/d H:i", "newformat" => "d/m/Y H:i") ), 'weighttotal' => array( "formatter" => "number", "formatoptions" => array("decimalSeparator" => ",", "thousandsSeparator" => ".", "decimalPlaces" => 2), "width" => 20, "align" => "right" ), 'ProductDescription' => array("label" => "Τελικό προϊον", "width" => 70, "align" => "left"), 'wc_company' => array( "width" => 80, "align" => "left") ), 'hidden' => array('PKSaleID', 'FKMaterialID', 'sls_weight'), 'footer' => true, 'summary' => array("weighttotal" => array("round(sls_weight/1000,2)" => "SUM")), 'footerData' => array("sls_date" => "sum (t):") ); [/code] Чтобы напечатать в Excel, я использую кнопку, которая переходит к функции Javascript с именем сетки в качестве параметра (есть также кнопка, встроенная в сетку, которую можно использовать) [code]function fnMenuXMLExport(gridFile, pageType) { if (!pageType) { pageType = jQuery("#grid").jqGrid('getGridParam', 'postData').pagetype || ''; }
if (!pageType) { alert('Missing page type for Excel export!'); return; }
var exportUrl = gridFile + '?pagetype=' + encodeURIComponent(pageType) + '&oper=excel'; jQuery("#grid").jqGrid('excelExport', { url: exportUrl }); } [/code] Лучший результат, который я получил, — это загрузить файл Excel, который на самом деле был нечитаемым. Я хочу знать, есть ли простой способ распечатать файл Excel с пользовательскими фильтрами из абстрактной сетки. Если нет, я просто забуду абстракцию