繁体   English   中英

将背景色应用于dxDataGrid控件并导出到Excel

[英]Apply background-color to dxDataGrid control and export to Excel

我在ASP.NET项目中使用DevExpress的dxDataGrid来显示存储在SQL Server数据库中的某些数据。

以下代码显示了如何设置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控件中的结果:

dxDataGrdi控件的结果

但是,当我“使用DevExpress功能”打开生成的文件时,得到的结果与屏幕截图所示的结果不同(即,单元格具有值,但未应用任何样式)

根据文档 ,在将颜色应用于 dxDataGrid控件中的特定单元格之后,当打开导出的Excel文件时,该单元格不会获得与dxDataGrid控件中所示的相同结果。

我的问题是:

  • 如何将样式应用于dxDataGrid单元并将此类结果应用于生成的Excel文件?

不幸的是,根据DX支持人员论坛上最近(2016-09-20)的回复,DevExtreme套装无法将dxDataGrid导出为出色的格式化格式。

见自己一面: https : //www.devexpress.com/Support/Center/Question/Details/T429240

如果您将DevEpress ASPxGridView控件与ASPxGridViewExporter一起使用,则可以在导出的Excel文档中按单元格或每行自定义格式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM