【发布时间】:2010-12-21 03:01:10
【问题描述】:
问题:如何在 Telerik 网格中显示比在渲染网格中显示更多的列?
例如,我只想在屏幕上显示姓氏,但在转储到 csv 时也会显示名字。
我在 GridBoundColumns 上尝试了 visible = false 和 display = false,但它们没有出现在 csv 上。
<telerik:RadGrid ID="grdAuctions" runat="server" AllowAutomaticDeletes="True" AllowAutomaticUpdates="True"
AllowPaging="False" AllowSorting="True" AutoGenerateColumns="False" DataSourceID="odsAuctionSales"
GridLines="None" EnableEmbeddedSkins="False" OnItemDataBound="grdAuctionSales_ItemDataBound">
<ExportSettings HideStructureColumns="true" />
<MasterTableView Width="100%" CommandItemDisplay="Top">
<PagerStyle Mode="NextPrevNumericAndAdvanced" />
<CommandItemSettings ShowAddNewRecordButton="false" ShowRefreshButton="false" ShowExportToCsvButton="true"
ExportToCsvImageUrl="~/Images/excel.jpg" ExportToCsvText="Export to csv" />
</MasterTableView>
<MasterTableView DataKeyNames="Id" DataSourceID="odsAuctionSales" CssClass="listItems"
Width="98%">
<SortExpressions>
<telerik:GridSortExpression FieldName="Name"></telerik:GridSortExpression>
</SortExpressions>
<RowIndicatorColumn>
<HeaderStyle Width="20px"></HeaderStyle>
</RowIndicatorColumn>
<ExpandCollapseColumn>
<HeaderStyle Width="20px"></HeaderStyle>
</ExpandCollapseColumn>
<Columns>
<telerik:GridTemplateColumn UniqueName="Edit">
<ItemTemplate>
<asp:HyperLink ID="edit" runat="server" Text="Edit"></asp:HyperLink>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn DataField="NameOnTable" HeaderText="Name On Table" SortExpression="NameOnTable"
UniqueName="NameOnTable">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Surname" HeaderText="Surname" SortExpression="Surname"
UniqueName="Surname">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Firstname" HeaderText="Firstname" SortExpression="Firstname"
UniqueName="Firstname">
</telerik:GridBoundColumn>
编辑这是我的工作方式
protected void RadGrid1_ItemCommand(object source, GridCommandEventArgs e)
{
if (e.CommandName == RadGrid.ExportToCsvCommandName)
{
grdAuctions.MasterTableView.GetColumn("Edit").Visible = false;
grdAuctions.MasterTableView.GetColumn("DPSAuthCode").Visible = true;
grdAuctions.MasterTableView.ExportToCSV();
}
}
在 aspx 中
OnItemCommand="RadGrid1_ItemCommand"
和
<telerik:GridBoundColumn DataField="DPSAuthCode" HeaderText="DPSAuthCode" Visible="false"
SortExpression="DPSAuthCode" UniqueName="DPSAuthCode">
</telerik:GridBoundColumn>
【问题讨论】: