1

所以我在我的 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(),该列是空白的。

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

4

3 回答 3

5

好的; 我想通了。原来我需要在导出之前在 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 片段

foreach (GridDataItem gi in rgPaymentIssues.MasterTableView.Items)
            {
                var hypFirstName = (HyperLink) gi.FindControl("hypFirstName");
                gi["FirstName"].Text = hypFirstName.Text;
            }
于 2010-06-25T16:22:34.500 回答
0

将 ExportOnlyData 设置为“False”可解决此问题。有关详细信息,请参阅以下链接。

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

于 2013-08-05T07:09:35.973 回答
0

万一有人像我一样到达这里,您可以用另一种方式解决它,将另一列设置为 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>

快乐编码!

于 2020-10-09T18:24:03.207 回答