2010-06-25 7 views
1

J'ai la colonne suivante définie dans mon RadGrid:RadGrid - Exportation au format CSV ne comprend pas la colonne de modèle

   <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> 

Maintenant, si j'utilise la fonction RadGrid MasterTableView.ExportToExcel(); Tout est bien. Toutefois; si j'essaie MasterTableView.ExportToCSV(), la colonne est vide.

Des idées sur ce qui pourrait causer cela?

Répondre

4

OK; J'ai compris ça. Il s'avère que j'ai besoin de définir la propriété Text sur le GridDataItems avant d'exporter.

Exemple de code ci-dessous:

Boutons d'exportation Cliquez Méthode

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 snippet

foreach (GridDataItem gi in rgPaymentIssues.MasterTableView.Items) 
      { 
       var hypFirstName = (HyperLink) gi.FindControl("hypFirstName"); 
       gi["FirstName"].Text = hypFirstName.Text; 
      } 
Questions connexes