所以我在我的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(),则列为空白。
关于可能导致这种情况的任何想法?
答案 0 :(得分: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;
}
答案 1 :(得分:0)
将ExportOnlyData设置为'False'可以解决此问题。 有关详细信息,请参阅以下链接。
http://www.telerik.com/help/aspnet-ajax/grid-csv-export.html
答案 2 :(得分:0)
以防万一有人像我一样到达这里,您可以用另一种方式解决,在另一列中放置Readonly =“ true”,这样它就不会出现在编辑模式下,而原始列中则是Display =“ false”,这样没有出现在视图模式下,那么Export一切都很好,这是摘录:
.box-layout {
align-items: center;
background: url('../../public/images/bg.jpg');
background-size: cover;
display: flex;
height: 100vh;
justify-content: center;
width: 100vw;
}
祝您编程愉快!