hello,
i have a little problem when before exporting to excel i have to rebind my radgrid. The result is that i need to click 2 times on the "Export to Excel" button, and i can't hide the "CommandItem"
(gridBooth.MasterTableView.CommandItemDisplay = GridCommandItemDisplay.None)
because if i do this the "Export to Excel" button disappears...
in this way in my excel i see the icons for exporting...
how can i bypass the second click??
this is my code...
protected void btnExportXLS_Click(object sender, EventArgs e)
{
_stand.GetAll();
FormatColumnsForExport();
gridBooth.Rebind();
gridBooth.ExportSettings.ExportOnlyData = false;
gridBooth.ExportSettings.IgnorePaging = true;
//gridBooth.MasterTableView.CommandItemDisplay = GridCommandItemDisplay.None;
gridBooth.ExportSettings.FileName = "ExportStands.xcl";
gridBooth.ExportSettings.OpenInNewWindow = true;
gridBooth.MasterTableView.ExportToExcel();
}
private void FormatColumnsForExport()
{
foreach (GridColumn col in gridBooth.MasterTableView.Columns)
gridBooth.MasterTableView.Columns.FindByUniqueName(col.UniqueName).Visible = true;
gridBooth.MasterTableView.Columns.FindByUniqueName("Espositore").Visible = false;
gridBooth.MasterTableView.Columns.FindByUniqueName("statusimg").Visible = false;
}
ascx:
<telerik:RadGrid ID="gridBooth" runat="server" AllowPaging="True" AllowCustomPaging="True"
AllowSorting="True" AutoGenerateColumns="False" GridLines="None" EnableAJAX="true"
OnNeedDataSource="gridBooth_NeedDataSource" OnSortCommand="RadGrid1_SortCommand"
OnPageIndexChanged="gridBooth_PageIndexChanged" Height="500px"
onitemcreated="gridBooth_ItemCreated" Skin="Vista"
onexcelexportcellformatting="gridBooth_ExcelExportCellFormatting">
<PagerStyle Mode="NextPrevAndNumeric" />
<MasterTableView CommandItemDisplay="Top">
<CommandItemTemplate>
<table width="100%" cellpadding=2 cellspacing=2 border=0>
<tr>
<td class="normal" width="25%" align=center><asp:LinkButton ID="btnExportXLS" runat=server CausesValidation=false OnClick="btnExportXLS_Click"><img src="/images/xls.jpg" border=0 /> Totale</asp:LinkButton></td>
<td class="normal" width="25%" align=center><asp:LinkButton ID="btnExportXLS_Filtered" runat=server CausesValidation=false OnClick="btnExportXLS_Filter"><img src="/images/xls.jpg" border=0 /> Filtrati</asp:LinkButton></td>
<td class="normal" width="25%" align=center><asp:LinkButton ID="btnExportCSV" runat=server CausesValidation=false OnClick="btnExportCSV_Click">CSV Totale</asp:LinkButton></td>
<td class="normal" width="25%" align=center><asp:LinkButton ID="btnExportCSV_Filtered" runat=server CausesValidation=false OnClick="btnExportCSV_Filter">CSV Filtrati</asp:LinkButton></td>
</tr>
</table>
</CommandItemTemplate>
<RowIndicatorColumn>
<HeaderStyle Width="20px"></HeaderStyle>
</RowIndicatorColumn>
<ExpandCollapseColumn>
<HeaderStyle Width="20px"></HeaderStyle>
</ExpandCollapseColumn>
<Columns>
<telerik:GridBoundColumn AllowFiltering="False" DataField="HallName" EmptyDataText="&nbsp;"
HeaderText="Pad." UniqueName="HallName">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Name" EmptyDataText="-" HeaderText="Stand"
UniqueName="Name">
</telerik:GridBoundColumn>
<telerik:GridTemplateColumn DataField="Quality" HeaderText="Qualità " UniqueName="Quality"
SortExpression="Quality">
<ItemTemplate>
<%# GetQuality(DataBinder.Eval(Container.DataItem, "Quality"))%>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn DataField="Mq" EmptyDataText="-;" HeaderText="Mq"
UniqueName="Mq">
</telerik:GridBoundColumn>
<telerik:GridTemplateColumn DataField="CompanyName" HeaderText="Espositore" UniqueName="Espositore"
SortExpression="CompanyName">
<ItemTemplate>
<%# GetEspositoreLink(DataBinder.Eval(Container.DataItem, "CompanyName"), DataBinder.Eval(Container.DataItem, "BookerId"))%>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn DataField="CompanyName" EmptyDataText="-" visible=false HeaderText="Espositore"
UniqueName="EspositoreData">
</telerik:GridBoundColumn>
<telerik:GridTemplateColumn DataField="CreationDate" HeaderText="Data Pren." UniqueName="CreationDate"
SortExpression="CreationDate">
<ItemTemplate>
<%# GetData(Container.DataItem)%>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn DataField="ExpireDate" EmptyDataText="-" HeaderText="Scadenza"
UniqueName="ExpireDate">
</telerik:GridBoundColumn>
<telerik:GridTemplateColumn DataField="ProductId" HeaderText="Tipo"
UniqueName="ProductId" SortExpression="ProductId">
<ItemTemplate>
<%# GetProductName(DataBinder.Eval(Container.DataItem, "ProductId"))%>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn DataField="Price" EmptyDataText="0" HeaderText="Prezzo"
UniqueName="Price">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Discount" EmptyDataText="0" HeaderText="Sconto"
UniqueName="Discount">
</telerik:GridBoundColumn>
<telerik:GridTemplateColumn DataField="Status" HeaderText="Stato" UniqueName="statusimg"
SortExpression="Status">
<ItemTemplate>
<%# GetStatusImages(DataBinder.Eval(Container.DataItem, "Status"))%>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn DataField="Status" visible=false UniqueName="statustext" HeaderText="Stato">
<ItemTemplate>
<%# GetStatusText(DataBinder.Eval(Container.DataItem, "Status"))%>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn DataField="EventName" EmptyDataText="&nbsp;" HeaderText="Evento"
UniqueName="EventName">
</telerik:GridBoundColumn>
</Columns>
</MasterTableView>
<ClientSettings AllowColumnsReorder="True">
<Scrolling AllowScroll="True" UseStaticHeaders="True" />
</ClientSettings>
<FilterMenu EnableTheming="True">
<CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation>
</FilterMenu>
<sortingsettings sorttooltip="Clicca per ordinare" />
</telerik:RadGrid>
i have a little problem when before exporting to excel i have to rebind my radgrid. The result is that i need to click 2 times on the "Export to Excel" button, and i can't hide the "CommandItem"
(gridBooth.MasterTableView.CommandItemDisplay = GridCommandItemDisplay.None)
because if i do this the "Export to Excel" button disappears...
in this way in my excel i see the icons for exporting...
how can i bypass the second click??
this is my code...
protected void btnExportXLS_Click(object sender, EventArgs e)
{
_stand.GetAll();
FormatColumnsForExport();
gridBooth.Rebind();
gridBooth.ExportSettings.ExportOnlyData = false;
gridBooth.ExportSettings.IgnorePaging = true;
//gridBooth.MasterTableView.CommandItemDisplay = GridCommandItemDisplay.None;
gridBooth.ExportSettings.FileName = "ExportStands.xcl";
gridBooth.ExportSettings.OpenInNewWindow = true;
gridBooth.MasterTableView.ExportToExcel();
}
private void FormatColumnsForExport()
{
foreach (GridColumn col in gridBooth.MasterTableView.Columns)
gridBooth.MasterTableView.Columns.FindByUniqueName(col.UniqueName).Visible = true;
gridBooth.MasterTableView.Columns.FindByUniqueName("Espositore").Visible = false;
gridBooth.MasterTableView.Columns.FindByUniqueName("statusimg").Visible = false;
}
ascx:
<telerik:RadGrid ID="gridBooth" runat="server" AllowPaging="True" AllowCustomPaging="True"
AllowSorting="True" AutoGenerateColumns="False" GridLines="None" EnableAJAX="true"
OnNeedDataSource="gridBooth_NeedDataSource" OnSortCommand="RadGrid1_SortCommand"
OnPageIndexChanged="gridBooth_PageIndexChanged" Height="500px"
onitemcreated="gridBooth_ItemCreated" Skin="Vista"
onexcelexportcellformatting="gridBooth_ExcelExportCellFormatting">
<PagerStyle Mode="NextPrevAndNumeric" />
<MasterTableView CommandItemDisplay="Top">
<CommandItemTemplate>
<table width="100%" cellpadding=2 cellspacing=2 border=0>
<tr>
<td class="normal" width="25%" align=center><asp:LinkButton ID="btnExportXLS" runat=server CausesValidation=false OnClick="btnExportXLS_Click"><img src="/images/xls.jpg" border=0 /> Totale</asp:LinkButton></td>
<td class="normal" width="25%" align=center><asp:LinkButton ID="btnExportXLS_Filtered" runat=server CausesValidation=false OnClick="btnExportXLS_Filter"><img src="/images/xls.jpg" border=0 /> Filtrati</asp:LinkButton></td>
<td class="normal" width="25%" align=center><asp:LinkButton ID="btnExportCSV" runat=server CausesValidation=false OnClick="btnExportCSV_Click">CSV Totale</asp:LinkButton></td>
<td class="normal" width="25%" align=center><asp:LinkButton ID="btnExportCSV_Filtered" runat=server CausesValidation=false OnClick="btnExportCSV_Filter">CSV Filtrati</asp:LinkButton></td>
</tr>
</table>
</CommandItemTemplate>
<RowIndicatorColumn>
<HeaderStyle Width="20px"></HeaderStyle>
</RowIndicatorColumn>
<ExpandCollapseColumn>
<HeaderStyle Width="20px"></HeaderStyle>
</ExpandCollapseColumn>
<Columns>
<telerik:GridBoundColumn AllowFiltering="False" DataField="HallName" EmptyDataText="&nbsp;"
HeaderText="Pad." UniqueName="HallName">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Name" EmptyDataText="-" HeaderText="Stand"
UniqueName="Name">
</telerik:GridBoundColumn>
<telerik:GridTemplateColumn DataField="Quality" HeaderText="Qualità " UniqueName="Quality"
SortExpression="Quality">
<ItemTemplate>
<%# GetQuality(DataBinder.Eval(Container.DataItem, "Quality"))%>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn DataField="Mq" EmptyDataText="-;" HeaderText="Mq"
UniqueName="Mq">
</telerik:GridBoundColumn>
<telerik:GridTemplateColumn DataField="CompanyName" HeaderText="Espositore" UniqueName="Espositore"
SortExpression="CompanyName">
<ItemTemplate>
<%# GetEspositoreLink(DataBinder.Eval(Container.DataItem, "CompanyName"), DataBinder.Eval(Container.DataItem, "BookerId"))%>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn DataField="CompanyName" EmptyDataText="-" visible=false HeaderText="Espositore"
UniqueName="EspositoreData">
</telerik:GridBoundColumn>
<telerik:GridTemplateColumn DataField="CreationDate" HeaderText="Data Pren." UniqueName="CreationDate"
SortExpression="CreationDate">
<ItemTemplate>
<%# GetData(Container.DataItem)%>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn DataField="ExpireDate" EmptyDataText="-" HeaderText="Scadenza"
UniqueName="ExpireDate">
</telerik:GridBoundColumn>
<telerik:GridTemplateColumn DataField="ProductId" HeaderText="Tipo"
UniqueName="ProductId" SortExpression="ProductId">
<ItemTemplate>
<%# GetProductName(DataBinder.Eval(Container.DataItem, "ProductId"))%>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn DataField="Price" EmptyDataText="0" HeaderText="Prezzo"
UniqueName="Price">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Discount" EmptyDataText="0" HeaderText="Sconto"
UniqueName="Discount">
</telerik:GridBoundColumn>
<telerik:GridTemplateColumn DataField="Status" HeaderText="Stato" UniqueName="statusimg"
SortExpression="Status">
<ItemTemplate>
<%# GetStatusImages(DataBinder.Eval(Container.DataItem, "Status"))%>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn DataField="Status" visible=false UniqueName="statustext" HeaderText="Stato">
<ItemTemplate>
<%# GetStatusText(DataBinder.Eval(Container.DataItem, "Status"))%>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn DataField="EventName" EmptyDataText="&nbsp;" HeaderText="Evento"
UniqueName="EventName">
</telerik:GridBoundColumn>
</Columns>
</MasterTableView>
<ClientSettings AllowColumnsReorder="True">
<Scrolling AllowScroll="True" UseStaticHeaders="True" />
</ClientSettings>
<FilterMenu EnableTheming="True">
<CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation>
</FilterMenu>
<sortingsettings sorttooltip="Clicca per ordinare" />
</telerik:RadGrid>