2

dxDataGrid在 ASP.NET 项目中使用 DevExpress 来显示存储在 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 文件?
4

1 回答 1

0

不幸的是,根据 DX stuff 在他们的支持论坛中最近(2016-09-20)的回复,DevExtreme 套装中无法将 dxDataGrid 导出为带有格式的 excel。

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

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

于 2016-10-08T08:20:36.597 回答