This is a migrated thread and some comments may be shown as answers.

Export to excel

4 Answers 87 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Ash
Top achievements
Rank 1
Ash asked on 30 Mar 2012, 08:49 PM
Hi,

i have a grid with 5 link button's in a row. When i export to excel i need this data in excel. But when i set

 

 

 

 

 

 

<ExportSettings IgnorePaging="True" ExportOnlyData = "true" OpenInNewWindow="true" >

 


I get empty data in my link button columns.  When i set

 

 

<ExportSettings IgnorePaging="True" ExportOnlyData = "false" OpenInNewWindow="true" >

 


i get header and other junk images in the excel sheet.

I have tried setting the text as shown below:

 

 

protected void grid_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e)

 

{

 

 

 

 

 

foreach (GridDataItem __item in grid.Items)

 

{

 

 

 

 

 

 

LinkButton eventIDLinkbutton = __item["EventID"].Controls[0] as LinkButton;

 

 

 

 

 

__item[

 

"EventID"].Text = eventIDLinkbutton.Text;

 

}

}

But the EventID column is still empty. Could you please help me? Should i rebind the radgrid?

4 Answers, 1 is accepted

Sort by
0
Jayesh Goyani
Top achievements
Rank 2
answered on 31 Mar 2012, 06:33 AM
Hello Ash,

Please check below code snippet.

<telerik:GridTemplateColumn HeaderText="link" UniqueName="link">
                        <ItemTemplate>
                            <asp:LinkButton ID="lnk1" runat="server">test</asp:LinkButton>
                        </ItemTemplate>
                    </telerik:GridTemplateColumn>

protected void RadGrid1_ItemCommand(object sender, GridCommandEventArgs e)
    {
        if (e.CommandName == RadGrid.ExportToExcelCommandName)
        {
            foreach (GridDataItem item in RadGrid1.MasterTableView.Items)
            {
                item["link"].Text = (item.FindControl("lnk1") as LinkButton).Text;
            }
        }
}

Let me know if any concern.

Thanks,
Jayesh Goyani
0
Ash
Top achievements
Rank 1
answered on 02 Apr 2012, 08:11 PM
Hi Jayesh,

Thanks for the reply.

I tried that piece of code.

item.FindControl("lnk1") as LinkButton results in null .

The below 2 lines work for me, in debug mode i see that the text is set as well but i do not see the data in the excel sheet.

LinkButton eventIDLinkbutton = __item["lnk1"].Controls[0] as LinkButton;

 __item["link"].Text = eventIDLinkbutton.Text;

Just to clarify, in the above example HeaderText and UniqueName are the same. I have a HeaderTemplate so by
__item["link"], you mean the UniqueName right?

My structure is like this:

 

<

 

 

telerik:GridTemplateColumn UniqueName="SecondaryEvent1" ItemStyle-Width="10%" HeaderStyle-Width="10%"

 

 

 

 

ItemStyle-BackColor = "LightYellow" Visible = "false">

 

 

 

 

<HeaderTemplate>

 

 

 

 

<table>

 

 

 

 

<tr>

 

 

 

 

<td colspan = "3">

 

 

 

 

<asp:Label ID="lblProgramName1" runat="server"

 

 

 

Font-Bold="true"></asp:Label>

 

 

 

 

</td>

 

 

 

 

</tr>

 

 

 

 

<tr>

 

 

 

 

<td>

 

 

 

 

<asp:Label ID="hdrDate1" runat="server" Text="hdrDate"

 

 

 

 

Width="50px"></asp:Label>

 

 

 

 

</td>

 

 

 

 

<td>

 

 

 

 

<asp:Label ID="hdrAdvID1" runat="server" Text="hdrAdvID"Width="40px"></asp:Label>

 

 

 

 

</td>

 

 

 

 

<td>

 

 

 

 

<asp:Label ID="hdrWB1" runat="server" Text="hdrWB Width="20px"></asp:Label>

 

 

 

 

</td>

 

 

 

 

</tr>

 

 

 

 

</table>

 

 

 

 

</HeaderTemplate>

 

 

 

 

<HeaderStyle HorizontalAlign="Center" />

 

 

 

 

<ItemTemplate>

 

 

 

 

<table>

 

 

 

 

<tr>

 

 

 

 

<td>

 

 

 

 

<asp:Label ID="lblDate1" runat="server" Width="40px"></asp:Label>

 

 

 

 

</td>

 

 

 

 

<td>

 

 

 

 

<asp:LinkButton ID="lblAdvID1" runat="server" Width="40px" CommandName="SecondaryEvent1" ForeColor = "Blue" />

 

 

 

 

</td>

 

 

 

 

<td>

 

 

 

 

<asp:Label ID="lblWB1" runat="server" Width="20px"></asp:Label>

 

 

 

 

</td>

 

 

 

 

</tr>

 

 

 

 

</table>

 

 

 

 

</ItemTemplate>

 

 

 

 

</telerik:GridTemplateColumn>

 

0
Jayesh Goyani
Top achievements
Rank 2
answered on 03 Apr 2012, 06:07 AM
Hello Ash,

item["lblAdvID1"].Text = (item.FindControl("lblAdvID1") as LinkButton).Text;


Thanks,
Jayesh Goyani
0
Ash
Top achievements
Rank 1
answered on 12 Apr 2012, 07:47 PM
Hi Jayesh,

That does not work either.

I am getting the below error:
__item["lblAdvID1"].Text = (__item.FindControl("lblAdvID1") as LinkButton).Text;

 

Cannot find a cell bound to column name 'lblAdvID1'. __item["lblAdvID1"].Text  is throwing the exception.

Could you please tell me how to export to excel the below 2 columns:
<telerik:GridButtonColumn DataTextField="EventID" CommandName="SelectEvent" UniqueName="EventID" ItemStyle-ForeColor = "Blue" />
  
<telerik:GridTemplateColumn UniqueName="SecondaryEvent1" ItemStyle-Width="10%" HeaderStyle-Width="10%"
  
ItemStyle-BackColor = "LightYellow" Visible = "false">
  
<HeaderTemplate>
  
<table>
  
<tr>
  
<td colspan = "3">
  
<asp:Label ID="lblProgramName1" runat="server" 
  
Font-Bold="true"></asp:Label>
  
</td>
  
</tr>
  
<tr>
  
<td>
  
<asp:Label ID="hdrDate1" runat="server" Text='<%# GetGlobalResource("pgLISASearchEvents","hdrDate") %>'
  
Width="50px"></asp:Label>
  
</td>
  
<td>
  
<asp:Label ID="hdrAdvID1" runat="server" Text='<%# GetGlobalResource("pgLISASearchEvents","hdrAdvID") %>'
  
Width="40px"></asp:Label>
  
  
</td>
  
<td>
  
<asp:Label ID="hdrWB1" runat="server" Text='<%# GetGlobalResource("pgLISASearchEvents","hdrWB") %>'
  
Width="20px"></asp:Label>
  
</td>
  
</tr>
  
  
</table>
  
</HeaderTemplate>
  
<HeaderStyle HorizontalAlign="Center" />
  
<ItemTemplate>
  
<table>
  
<tr>
  
<td>
  
<asp:Label ID="lblDate1" runat="server" Width="40px"></asp:Label>
  
</td>
  
<td>
  
  
<asp:LinkButton ID="lblAdvID1" runat="server" Width="40px" CommandName="SecondaryEvent1" ForeColor = "Blue" />
  
</td>
  
<td>
  
<asp:Label ID="lblWB1" runat="server" Width="20px"></asp:Label>
  
</td>
  
</tr>
  
</table>
  
</ItemTemplate>
  
</telerik:GridTemplateColumn>

The values of GridButtonColumn and the value of the label lblAdvID1 in GridTemplateColumn SecondaryEvent1 are not being exported to excel.
Tags
Grid
Asked by
Ash
Top achievements
Rank 1
Answers by
Jayesh Goyani
Top achievements
Rank 2
Ash
Top achievements
Rank 1
Share this question
or