I have this Grid with ajax settings, the grid have some pages, when i click export to excel onle the first page get exported even i have this in the export event
GrdDetalle.ExportSettings.IgnorePaging = true; also i populate the grid with the event NeedDataSource
hope someone can help me.
private void GrdResumen_NeedDataSource(object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
{
string StrSqlRes;
if (Session["StrSqlRes"] == null)
StrSqlRes = "Select Nombre_Producto,Codigo_especie,Sum(Volumen) as Volumen from itema a, det_itema_mat_prima b, Producto_Madera c, Especie d where a.id_rfn = b.id_rfn and a.Periodo = b.periodo and a.AÑO = b.AÑO and b.Codigo_Producto = c.Codigo_producto and b.Id_Especie = d.Id_Especie and RegistroRFN = '0' group by Nombre_Producto,Codigo_especie order by Nombre_Producto,Codigo_especie";
else
StrSqlRes = Session["StrSqlRes"].ToString();
Util.LlenaGrid(StrSqlRes, GrdResumen);
}
Here is a sample of my Code
protected void imgbExport_Click(object sender, ImageClickEventArgs e)
{
GrdDetalle.ExportSettings.ExportOnlyData = true;
GrdDetalle.ExportSettings.IgnorePaging = true;
GrdDetalle.ExportSettings.FileName = "Reporte de Ingresos de Materia Prima";
GrdDetalle.ExportSettings.OpenInNewWindow = true;
GrdDetalle.MasterTableView.ExportToExcel();
}
HTML
Grid
<telerik:RadGrid runat="server" ID="GrdResumen" PageSize="5"
AutoGenerateColumns="false" Width="100%" AllowSorting="true"
AllowPaging="true" GridLines="None" >
<PagerStyle Mode="NextPrevAndNumeric" NextPageText="Siguiente"
PrevPageText="Anterior" Position="Bottom"
PagerTextFormat="Change page: {4} &nbsp;Pagina <strong>{0}</strong> de <strong>{1}</strong>, registros <strong>{2}</strong> a <strong>{3}</strong> de <strong>{5}</strong>."
PageSizeLabelText="Regitros"/>
<MasterTableView DataKeyNames="Nombre_Producto,Codigo_especie,Volumen" NoMasterRecordsText="No Hay Registros" ShowFooter="true" CommandItemDisplay="Top">
<CommandItemTemplate>
<table>
<tr>
<td align="center">
<asp:ImageButton ID="imgbExport" ImageUrl="~/Imagenes/xls.png" ToolTip="Exportar a Excel" runat="server" AlternateText="Export" OnClick="imgbExport2_Click" />
</td>
</tr>
<tr>
<td align="center">
<asp:Label ID="Label8" runat="server" Text="Exportar a Excel"></asp:Label>
</td >
</tr>
</table>
<br />
<br />
</CommandItemTemplate>
<Columns>
<telerik:GridBoundColumn DataField="Nombre_Producto" FooterText="Volumen Total (m³)" FooterStyle-Font-Bold="true" HeaderText="Producto" HeaderStyle-Width="225px">
<HeaderStyle Width="225px"></HeaderStyle>
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Codigo_especie" HeaderText="especie" HeaderStyle-Width="225px">
<HeaderStyle Width="225px"></HeaderStyle>
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Volumen" DataFormatString="{0:#,##0.00}" Aggregate="Sum" FooterStyle-Font-Bold="true" FooterAggregateFormatString="{0:#,##0.00}" HeaderText="Volumen (m³)" HeaderStyle-Width="225px">
<HeaderStyle Width="225px"></HeaderStyle>
</telerik:GridBoundColumn>
</Columns>
</MasterTableView>
<FilterMenu EnableTheming="true">
<CollapseAnimation Duration="200" Type="OutQuint" />
</FilterMenu>
</telerik:RadGrid>
This is the ajax configuration
<telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" EnableSkinTransparency="true" BackgroundPosition="Top" Skin="">
<asp:Image ID="Image1" runat="server" ImageUrl="~/Imagenes/cargando.gif" AlternateText="cargando" />
</telerik:RadAjaxLoadingPanel>
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" ClientEvents-OnRequestStart="mngRequestStarted">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="GrdDetalle">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="GrdDetalle" />
<telerik:AjaxUpdatedControl ControlID="TblUno" />
<telerik:AjaxUpdatedControl ControlID="LoginControl1" />
<telerik:AjaxUpdatedControl ControlID="GrdDetalle" LoadingPanelID="RadAjaxLoadingPanel1" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="CmdGen">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="GrdDetalle" />
<telerik:AjaxUpdatedControl ControlID="GrdResumen" />
<telerik:AjaxUpdatedControl ControlID="LblMensaje" />
<telerik:AjaxUpdatedControl ControlID="LnlNRF" />
<telerik:AjaxUpdatedControl ControlID="LblNomEmpresa" />
<telerik:AjaxUpdatedControl ControlID="LblDireccion" />
<telerik:AjaxUpdatedControl ControlID="LblActiva" />
<telerik:AjaxUpdatedControl ControlID="LblDia" />
<telerik:AjaxUpdatedControl ControlID="LblRegion" />
<telerik:AjaxUpdatedControl ControlID="LblSubregion" />
<telerik:AjaxUpdatedControl ControlID="LblPeriodo" />
<telerik:AjaxUpdatedControl ControlID="LblUsuario" />
<telerik:AjaxUpdatedControl ControlID="LblNIT" />
<telerik:AjaxUpdatedControl ControlID="LblFecIng" />
<telerik:AjaxUpdatedControl ControlID="TblUno" />
<telerik:AjaxUpdatedControl ControlID="LoginControl1" />
<telerik:AjaxUpdatedControl ControlID="TxtMostro" />
<telerik:AjaxUpdatedControl ControlID="CmdGen" LoadingPanelID="RadAjaxLoadingPanel1" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="imgbExport">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="GrdDetalle" />
<telerik:AjaxUpdatedControl ControlID="GrdResumen" />
<telerik:AjaxUpdatedControl ControlID="imgbExport" />
<telerik:AjaxUpdatedControl ControlID="GrdDetalle" LoadingPanelID="RadAjaxLoadingPanel1" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="GrdResumen">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="GrdResumen" />
<telerik:AjaxUpdatedControl ControlID="imgbExport" />
<telerik:AjaxUpdatedControl ControlID="GrdResumen" LoadingPanelID="RadAjaxLoadingPanel1" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
<ClientEvents OnRequestStart="mngRequestStarted" />
</telerik:RadAjaxManager>
function to disabled ajax on grid button
function mngRequestStarted(ajaxManager, eventArgs) {
if (eventArgs.get_eventTarget().indexOf("imgbExport") != -1)
eventArgs.set_enableAjax(false);
}
GrdDetalle.ExportSettings.IgnorePaging = true; also i populate the grid with the event NeedDataSource
hope someone can help me.
private void GrdResumen_NeedDataSource(object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
{
string StrSqlRes;
if (Session["StrSqlRes"] == null)
StrSqlRes = "Select Nombre_Producto,Codigo_especie,Sum(Volumen) as Volumen from itema a, det_itema_mat_prima b, Producto_Madera c, Especie d where a.id_rfn = b.id_rfn and a.Periodo = b.periodo and a.AÑO = b.AÑO and b.Codigo_Producto = c.Codigo_producto and b.Id_Especie = d.Id_Especie and RegistroRFN = '0' group by Nombre_Producto,Codigo_especie order by Nombre_Producto,Codigo_especie";
else
StrSqlRes = Session["StrSqlRes"].ToString();
Util.LlenaGrid(StrSqlRes, GrdResumen);
}
Here is a sample of my Code
protected void imgbExport_Click(object sender, ImageClickEventArgs e)
{
GrdDetalle.ExportSettings.ExportOnlyData = true;
GrdDetalle.ExportSettings.IgnorePaging = true;
GrdDetalle.ExportSettings.FileName = "Reporte de Ingresos de Materia Prima";
GrdDetalle.ExportSettings.OpenInNewWindow = true;
GrdDetalle.MasterTableView.ExportToExcel();
}
HTML
Grid
<telerik:RadGrid runat="server" ID="GrdResumen" PageSize="5"
AutoGenerateColumns="false" Width="100%" AllowSorting="true"
AllowPaging="true" GridLines="None" >
<PagerStyle Mode="NextPrevAndNumeric" NextPageText="Siguiente"
PrevPageText="Anterior" Position="Bottom"
PagerTextFormat="Change page: {4} &nbsp;Pagina <strong>{0}</strong> de <strong>{1}</strong>, registros <strong>{2}</strong> a <strong>{3}</strong> de <strong>{5}</strong>."
PageSizeLabelText="Regitros"/>
<MasterTableView DataKeyNames="Nombre_Producto,Codigo_especie,Volumen" NoMasterRecordsText="No Hay Registros" ShowFooter="true" CommandItemDisplay="Top">
<CommandItemTemplate>
<table>
<tr>
<td align="center">
<asp:ImageButton ID="imgbExport" ImageUrl="~/Imagenes/xls.png" ToolTip="Exportar a Excel" runat="server" AlternateText="Export" OnClick="imgbExport2_Click" />
</td>
</tr>
<tr>
<td align="center">
<asp:Label ID="Label8" runat="server" Text="Exportar a Excel"></asp:Label>
</td >
</tr>
</table>
<br />
<br />
</CommandItemTemplate>
<Columns>
<telerik:GridBoundColumn DataField="Nombre_Producto" FooterText="Volumen Total (m³)" FooterStyle-Font-Bold="true" HeaderText="Producto" HeaderStyle-Width="225px">
<HeaderStyle Width="225px"></HeaderStyle>
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Codigo_especie" HeaderText="especie" HeaderStyle-Width="225px">
<HeaderStyle Width="225px"></HeaderStyle>
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Volumen" DataFormatString="{0:#,##0.00}" Aggregate="Sum" FooterStyle-Font-Bold="true" FooterAggregateFormatString="{0:#,##0.00}" HeaderText="Volumen (m³)" HeaderStyle-Width="225px">
<HeaderStyle Width="225px"></HeaderStyle>
</telerik:GridBoundColumn>
</Columns>
</MasterTableView>
<FilterMenu EnableTheming="true">
<CollapseAnimation Duration="200" Type="OutQuint" />
</FilterMenu>
</telerik:RadGrid>
This is the ajax configuration
<telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" EnableSkinTransparency="true" BackgroundPosition="Top" Skin="">
<asp:Image ID="Image1" runat="server" ImageUrl="~/Imagenes/cargando.gif" AlternateText="cargando" />
</telerik:RadAjaxLoadingPanel>
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" ClientEvents-OnRequestStart="mngRequestStarted">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="GrdDetalle">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="GrdDetalle" />
<telerik:AjaxUpdatedControl ControlID="TblUno" />
<telerik:AjaxUpdatedControl ControlID="LoginControl1" />
<telerik:AjaxUpdatedControl ControlID="GrdDetalle" LoadingPanelID="RadAjaxLoadingPanel1" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="CmdGen">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="GrdDetalle" />
<telerik:AjaxUpdatedControl ControlID="GrdResumen" />
<telerik:AjaxUpdatedControl ControlID="LblMensaje" />
<telerik:AjaxUpdatedControl ControlID="LnlNRF" />
<telerik:AjaxUpdatedControl ControlID="LblNomEmpresa" />
<telerik:AjaxUpdatedControl ControlID="LblDireccion" />
<telerik:AjaxUpdatedControl ControlID="LblActiva" />
<telerik:AjaxUpdatedControl ControlID="LblDia" />
<telerik:AjaxUpdatedControl ControlID="LblRegion" />
<telerik:AjaxUpdatedControl ControlID="LblSubregion" />
<telerik:AjaxUpdatedControl ControlID="LblPeriodo" />
<telerik:AjaxUpdatedControl ControlID="LblUsuario" />
<telerik:AjaxUpdatedControl ControlID="LblNIT" />
<telerik:AjaxUpdatedControl ControlID="LblFecIng" />
<telerik:AjaxUpdatedControl ControlID="TblUno" />
<telerik:AjaxUpdatedControl ControlID="LoginControl1" />
<telerik:AjaxUpdatedControl ControlID="TxtMostro" />
<telerik:AjaxUpdatedControl ControlID="CmdGen" LoadingPanelID="RadAjaxLoadingPanel1" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="imgbExport">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="GrdDetalle" />
<telerik:AjaxUpdatedControl ControlID="GrdResumen" />
<telerik:AjaxUpdatedControl ControlID="imgbExport" />
<telerik:AjaxUpdatedControl ControlID="GrdDetalle" LoadingPanelID="RadAjaxLoadingPanel1" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="GrdResumen">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="GrdResumen" />
<telerik:AjaxUpdatedControl ControlID="imgbExport" />
<telerik:AjaxUpdatedControl ControlID="GrdResumen" LoadingPanelID="RadAjaxLoadingPanel1" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
<ClientEvents OnRequestStart="mngRequestStarted" />
</telerik:RadAjaxManager>
function to disabled ajax on grid button
function mngRequestStarted(ajaxManager, eventArgs) {
if (eventArgs.get_eventTarget().indexOf("imgbExport") != -1)
eventArgs.set_enableAjax(false);
}