0

我需要导出一个 RadGrid 表,它包含几个 EditMode 行。我想选择要导出的内容,或者如果可能的话,最好将这些行更改为

EditMode = false

在导出之前,所以它看起来是我需要的。


代码详细信息:我有几个 GridTemplateColumn,这里是其中之一:

<telerik:GridTemplateColumn
     ItemStyle-Wrap="false" UniqueName="DataInicioAtividade"
     DataField="DataInicioAtividade" HeaderText="*Data Inicio">
    <ItemTemplate>
        <telerik:RadDatePicker runat="server" ID="data_inicio" MinDate="1900/1/1">
            <DateInput runat="server"
                       CssClass="date-picker" ID="rad_dateInput_data_inicio"
                       MaxLength="10" CausesValidation="true" />
        </telerik:RadDatePicker>
    </ItemTemplate>
</telerik:GridTemplateColumn>

还有一个简单地执行代码的按钮:

rgd_grid_naoiniciada.ExportExcel();

问题是,看起来,telerik RadGrid 导出只是将结果表的 HTML 代码转储到 Excel 文件中。组件的行为就像它应该的那样,但生成的文件应该有字段值,而不是包含输入字段、链接、RadCalendar 图像等的 HTML 代码......

提前致谢。

4

1 回答 1

0

导出时将 Templatecolumn 值设置为 Template 列的 text 属性,然后给 ExportOnlyData="true";

这现在也适用于模板列。

在 ItemBoundEvent 中,给出以下代码。

protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
{
 if ((isExport) && (e.Item is GridDataItem))
 {
   GridDataItem item = e.Item as GridDataItem;
    item["DataInicioAtividade"].Text = ((RadDatePicker)item["DataInicioAtividade"].FindControl("data_inicio")).SelectedDate.ToString();               
 }
}
于 2013-04-26T07:29:57.227 回答