2017-08-09 21 views
1

ページに複数のIgnite UIグリッドが設定されています。グリッドはエクスポート機能が優れていますが、現在のグリッドでのみ機能します。どのようにして1つのイベントですべてのグリッドをエクスポートできますか? キャプチャまたは変更するグリッドイベント。 私は2016 v2リリースを使用していますInfragistics igniteグリッドで複数のグリッドを単一エクセルにエクスポート

答えて

2

複数のオプションを調べた後、グリッドコレクションの順次ウォークスルーを行い、それぞれをメインブックに追加するソリューションを見つけました。

選択した1番目のグリッドのexportEndingメソッドでは、2番目のグリッドのエクスポート(想定)を行う関数を呼び出します。これは、必要に応じて多くのグリッドのシーケンスが可能です。例えば、exportSecondGridのように、それぞれの関数の名前がExportGridであるとします。

GRID1の

exportEnding :function(sender, args) { 
    exportSecondGrid(args.workbook); 
    return false; 
    } 

使用グリッドメインワークブックに、現在のワークシートを追加するのheaderExportingイベント。そのexportEndingは、ワークシートに以下のように今すぐグリッド2のイベント

ため手動セットにエクスポートするヘッダに生成されたヘッダのコレクションを取り

var headerArr = []; 
$.ig.GridExcelExporter.exportGrid($("#gridSecond"), { 
    fileName: fileNamePassedAsParameter, 
    worksheetName: Sheet2NamePassedAsParameter 
}, 
{ 
headerCellExporting: function(sender, args) { 
    // We will save all the headers coming to our array for retrieval later on 
    headerArr.push(args.headerText); 
    if (args.columnIndex === 0) { 
     sender._workbook = workbook; 
     sender._workbook.worksheets().add(sender._worksheet.name()); 
     sender._worksheet = sender._workbook.worksheets(1); 
    } 
}, 
exportEnding: function(sender, args) { 
    // Now use the array of headers to be updated 
    var row = sender._worksheet.rows(0); 
    for(var ind=0; ind < headerArr.length; ind++) { 
     row.setCellValue(ind, headerArr[ind]); 
    } 
} 
} 
); 
} 
関連する問題