【问题标题】:RadGrid - Exporting to CSV does not include template columnRadGrid - 导出到 CSV 不包括模板列
【发布时间】:2010-06-25 13:09:05
【问题描述】:

所以我在我的 radgrid 中定义了以下列:

                <telerik:GridTemplateColumn DataField="Payment.Customer.FirstName" DataType="System.String"
                    HeaderText="First Name" SortExpression="Payment.Customer.FirstName" UniqueName="FirstName">
                    <ItemTemplate>
                        <asp:HyperLink ID="hypFirstName" runat="server" Target="_blank" Text='<%# ((PaymentIssue)Container.DataItem).Payment.Customer.FirstName %>'
                            NavigateUrl='<%# string.Format("~/CustomerAdmin/Customer_View.aspx?customerId={0}", ((PaymentIssue)Container.DataItem).Payment.CustomerId) %>'></asp:HyperLink>
                    </ItemTemplate>
                </telerik:GridTemplateColumn>

现在,如果我使用 RadGrid MasterTableView.ExportToExcel() 函数;一切都很好。然而;如果我尝试 MasterTableView.ExportToCSV(),该列是空白的。

关于什么可能导致这种情况的任何想法?

【问题讨论】:

    标签: c# export telerik radgrid


    【解决方案1】:

    好的;我想通了。原来我需要在导出之前在 GridDataItems 上设置 Text 属性。

    示例代码如下:

    导出按钮点击方法

    protected void lnkExport_Click(object sender, EventArgs e)
            {
                var linkButton = (LinkButton)sender;
                switch (linkButton.CommandArgument)
                {
                    case "Excel":
                        rgPaymentIssues.MasterTableView.ExportToExcel();
                        break;
                    case "CSV":
                        PrepareRadGridForExport();
                        rgPaymentIssues.MasterTableView.ExportToCSV();
                        break;
                    default:
                        break;
                }
            }
    

    PrepareRadGridForExport sn-p

    foreach (GridDataItem gi in rgPaymentIssues.MasterTableView.Items)
                {
                    var hypFirstName = (HyperLink) gi.FindControl("hypFirstName");
                    gi["FirstName"].Text = hypFirstName.Text;
                }
    

    【讨论】:

      【解决方案2】:

      将 ExportOnlyData 设置为“False”可解决此问题。 详情见以下链接。

      http://www.telerik.com/help/aspnet-ajax/grid-csv-export.html

      【讨论】:

        【解决方案3】:

        万一有人像我一样到达这里,你可以用另一种方式解决它,放置另一个带有 Readonly="true" 的列,这样它就不会出现在编辑模式中,而原始列带有 Display="false" 所以它没有出现在视图模式下,那么导出就好了,下面是摘录:

        <telerik:GridBoundColumn DataField="Email2" HeaderText="Email" UniqueName="Email2a" ReadOnly="true" Exportable="true" />
        <telerik:GridTemplateColumn DataField="Email2" HeaderText="Email" UniqueName="Email2" Display="false" Exportable="false">
            <EditItemTemplate>
                ...
            </EditItemTemplate>
        </telerik:GridTemplateColumn>
        

        编码愉快!

        【讨论】:

          猜你喜欢
          • 2018-01-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-04-28
          • 1970-01-01
          • 2010-11-05
          • 1970-01-01
          • 2016-12-05
          相关资源
          最近更新 更多