【问题标题】:Telerik Grid - Export to CSV more columns than displayed on screenTelerik Grid - 导出到 CSV 的列多于屏幕上显示的列
【发布时间】: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>

【问题讨论】:

    标签: asp.net telerik


    【解决方案1】:

    在导出调用之前切换 Visible 或 Display 属性值应该可以解决问题。查看相关部分(隐藏列)here 了解详情。

    【讨论】:

      【解决方案2】:

      我能给你的最好办法是让控件显示它,然后使用 jquery 将这些列上的显示设置为关闭。

      另一个选项可能是重载导出到 csv 函数,但我对这个 Telerik 控件不够熟悉,无法为您提供任何指示。

      【讨论】:

        猜你喜欢
        • 2012-03-19
        • 2018-11-17
        • 2018-02-20
        • 2019-04-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多