私は、DevExpressのdxDataGrid
をASP.NETプロジェクトで使用して、SQL Serverデータベースに格納されているデータを表示しています。dxDataGridコントロールに背景色を適用してExcelにエクスポート
次のコードは、私がデータをレンダリングするためのdxDataGrid
制御を設定しています方法を示しています。
// Variables.
var vlrMin = [];
var vlrMax = [];
var vlr_to_match = 0;
var colors = [];
var final_rst = "";
// Add values to variables:
vlrMin.push("9");
vlrMin.push("2");
vlrMin.push("9");
// Add values to variables:
vlrMax.push("13");
vlrMax.push("7");
vlrMax.push("4");
colors.push('#ff0000');
colors.push('#92D050');
colors.push('#5B9BD5');
// Start configuration.
$("#gridContainer").dxDataGrid({
dataSource: [{
"Dept": "Local services",
"Employee": "John Doe",
"TotalHours": "11"
}],
paging: {
pageSize: 10
},
export: {
allowExportSelectedData: true,
enabled: true,
fileName: 'Reporte 1',
texts: {
exportAll: 'Export all',
exportSelectedRows: 'Export selected row(s).',
exportTo: 'Export'
},
},
searchPanel: {
visible: true
},
filterRow: {
visible: true,
showOperationChooser: true
},
allowColumnReordering: true,
grouping: {
autoExpandAll: true
},
groupPanel: {
visible: true
},
pager: {
showPageSizeSelector: true,
allowedPageSizes: [5, 10, 20],
showInfo: true
},
columns: ['Dept',
'Employee', {
dataField: 'TotalHours',
allowFiltering: true,
allowSorting: true,
cellTemplate: function(container, options) {
/* Value to check if matches with the criteria. */
var vlr_to_match = options.value;
/* Loop elements. */
for (var mn = 0; mn < vlrMin.length; mn++) {
if (vlr_to_match >= vlrMin[mn] && vlr_to_match <= vlrMax[mn]) {
final_rst = colors[mn];
break;
}
}
/* Apply custom style to element. */
$('<span>').text(options.data.TotalHours)
.attr('style', 'background-color: ' + final_rst)
.appendTo(container);
}
}
]
});
これはdxDataGrid
コントロールでの結果である:
しかし、I生成されたファイルを「DevExpress機能を使用して」開くスクリーンショットに表示されているのと同じ結果が得られません(つまり、セルには値がありますが、スタイルは適用されませんd)。 documentationによると
、およびエクスポートされたExcelファイルが開かれdxDataGrid
制御、中apply a color to an specific cell後、セルはdxDataGrid
制御に示されているのと同じ結果が取得されていません。
私の質問は:
dxDataGrid
セルにスタイルを適用して生成されたExcelファイルにそのような結果を適用することができますどのように?