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 に答える