使用EditMode行导出Telerik RadGrid

时间:2013-01-09 19:26:28

标签: excel telerik export telerik-grid radgrid

我需要导出一个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代码......

提前致谢。

1 个答案:

答案 0 :(得分: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();               
 }
}