J ai une page ou je lie un datagrid via un dataset. Ce dernier n est pas mis
en cache ni en session.
Sur le datagrid est activé la pagination et le tri.
J ai un créé un bouton Export du datagrid au format Excel sur la page.
>> Le problème est que l'export ne ramène que la page courante. J'ai
>> appliqué pas mal de solution dont mettre "allowpaging=false" mais rien n
>> y fait...
Voici le code :
J'ai créé une classe qui reçoit en paramètre le datagrid.
!! Je me demande si le problème n'est pas ici. C'est à dire que l'objet
transmis à la procédure "doExcelExport" n'est finalement pas que la datagrid
"courant" à savoir la page courante uniquement a cause.
Dans ce cas y aurait un moyen de transmettre tout le datagrid.
Dans la page : le bouton actionne cette procédure :
Sub doExcelExport(ByVal Sender As System.Object, e as ImageClickEventArgs)
[NameSpace.LaClass].doExcelExport (myDataGrid)
End Sub
le contenu de doExcelExport
Dim DimDataGrid As System.Web.UI.WebControls.DataGrid = expDataGrid
'Mise en Forme du Datagrid pour Export.
With DimDataGrid
.Columns(1).Visible = False
.Columns(8).Visible = False
.PagerStyle.Visible =False
.GridLines=GridLines.Both
.HeaderStyle.Font.Size = FontUnit.Point(12)
.HeaderStyle.BackColor = System.Drawing.Color.FromName("#FFFFFF")
.borderwidth=Unit.Parse("1")
.Borderstyle = BorderStyle.None
.AllowPaging= False
.EnableViewState = False
.AllowSorting = False
End With
Dim strFileName As String = "fichier.xls"
HttpContext.Current.Response.Clear()
HttpContext.Current.Response.Buffer = True
HttpContext.Current.Response.ContentType =
"application/vnd.ms-excel"
HttpContext.Current.Response.AddHeader("Content-Disposition",
"attachment; filename=""" & strFileName & """")
HttpContext.Current.Response.Charset = ""
Dim monStringWriter As System.IO.StringWriter = New
System.IO.StringWriter
Dim monHtmlTextWriter As System.Web.UI.HtmlTextWriter = New
System.Web.UI.HtmlTextWriter(monStringWriter)
DimDataGrid.RenderControl(monHtmlTextWriter)
HttpContext.Current.Response.Write(monStringWriter.ToString())
HttpContext.Current.Response.End()
...
Tout cela fonctionne bien sauf que je n'ai que la prmière page du Datagrid
paginé à la base.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Daniel
Bonjour,
Je pense que le probléme provient du fait que tu envoi la grille et pas le dataset, de ce fait le systéme te renvoi que la premiere page.
Si tu veux avoir l'ensemble de tes données il faut remplacer la grille par le dataset.
cordialement,
"fabrice" a écrit dans le message de news:
Bonjour à tous.
Framework 1.1 Vb.net
J ai une page ou je lie un datagrid via un dataset. Ce dernier n est pas mis en cache ni en session. Sur le datagrid est activé la pagination et le tri. J ai un créé un bouton Export du datagrid au format Excel sur la page.
Le problème est que l'export ne ramène que la page courante. J'ai appliqué pas mal de solution dont mettre "allowpagingúlse" mais rien n y fait...
Voici le code :
J'ai créé une classe qui reçoit en paramètre le datagrid. !! Je me demande si le problème n'est pas ici. C'est à dire que l'objet transmis à la procédure "doExcelExport" n'est finalement pas que la datagrid "courant" à savoir la page courante uniquement a cause. Dans ce cas y aurait un moyen de transmettre tout le datagrid.
Dans la page : le bouton actionne cette procédure :
Sub doExcelExport(ByVal Sender As System.Object, e as ImageClickEventArgs)
[NameSpace.LaClass].doExcelExport (myDataGrid)
End Sub
le contenu de doExcelExport
Dim DimDataGrid As System.Web.UI.WebControls.DataGrid = expDataGrid
'Mise en Forme du Datagrid pour Export. With DimDataGrid .Columns(1).Visible = False .Columns(8).Visible = False .PagerStyle.Visible úlse .GridLines=GridLines.Both .HeaderStyle.Font.Size = FontUnit.Point(12) .HeaderStyle.BackColor = System.Drawing.Color.FromName("#FFFFFF") .borderwidth=Unit.Parse("1") .Borderstyle = BorderStyle.None .AllowPaging= False .EnableViewState = False .AllowSorting = False End With
Dim strFileName As String = "fichier.xls"
HttpContext.Current.Response.Clear() HttpContext.Current.Response.Buffer = True HttpContext.Current.Response.ContentType = "application/vnd.ms-excel" HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=""" & strFileName & """") HttpContext.Current.Response.Charset = "" Dim monStringWriter As System.IO.StringWriter = New System.IO.StringWriter Dim monHtmlTextWriter As System.Web.UI.HtmlTextWriter = New System.Web.UI.HtmlTextWriter(monStringWriter) DimDataGrid.RenderControl(monHtmlTextWriter) HttpContext.Current.Response.Write(monStringWriter.ToString()) HttpContext.Current.Response.End()
...
Tout cela fonctionne bien sauf que je n'ai que la prmière page du Datagrid paginé à la base.
Si vous avez une idée, merci par avance.
Bonjour,
Je pense que le probléme provient du fait que tu envoi la grille et pas le
dataset, de ce fait le systéme te renvoi que la premiere page.
Si tu veux avoir l'ensemble de tes données il faut remplacer la grille par
le dataset.
cordialement,
"fabrice" <emouchet@test.com> a écrit dans le message de news:
Oeh7yXBzGHA.5048@TK2MSFTNGP03.phx.gbl...
Bonjour à tous.
Framework 1.1
Vb.net
J ai une page ou je lie un datagrid via un dataset. Ce dernier n est pas
mis en cache ni en session.
Sur le datagrid est activé la pagination et le tri.
J ai un créé un bouton Export du datagrid au format Excel sur la page.
Le problème est que l'export ne ramène que la page courante. J'ai
appliqué pas mal de solution dont mettre "allowpagingúlse" mais rien n
y fait...
Voici le code :
J'ai créé une classe qui reçoit en paramètre le datagrid.
!! Je me demande si le problème n'est pas ici. C'est à dire que l'objet
transmis à la procédure "doExcelExport" n'est finalement pas que la
datagrid "courant" à savoir la page courante uniquement a cause.
Dans ce cas y aurait un moyen de transmettre tout le datagrid.
Dans la page : le bouton actionne cette procédure :
Sub doExcelExport(ByVal Sender As System.Object, e as ImageClickEventArgs)
[NameSpace.LaClass].doExcelExport (myDataGrid)
End Sub
le contenu de doExcelExport
Dim DimDataGrid As System.Web.UI.WebControls.DataGrid = expDataGrid
'Mise en Forme du Datagrid pour Export.
With DimDataGrid
.Columns(1).Visible = False
.Columns(8).Visible = False
.PagerStyle.Visible úlse
.GridLines=GridLines.Both
.HeaderStyle.Font.Size = FontUnit.Point(12)
.HeaderStyle.BackColor = System.Drawing.Color.FromName("#FFFFFF")
.borderwidth=Unit.Parse("1")
.Borderstyle = BorderStyle.None
.AllowPaging= False
.EnableViewState = False
.AllowSorting = False
End With
Dim strFileName As String = "fichier.xls"
HttpContext.Current.Response.Clear()
HttpContext.Current.Response.Buffer = True
HttpContext.Current.Response.ContentType =
"application/vnd.ms-excel"
HttpContext.Current.Response.AddHeader("Content-Disposition",
"attachment; filename=""" & strFileName & """")
HttpContext.Current.Response.Charset = ""
Dim monStringWriter As System.IO.StringWriter = New
System.IO.StringWriter
Dim monHtmlTextWriter As System.Web.UI.HtmlTextWriter = New
System.Web.UI.HtmlTextWriter(monStringWriter)
DimDataGrid.RenderControl(monHtmlTextWriter)
HttpContext.Current.Response.Write(monStringWriter.ToString())
HttpContext.Current.Response.End()
...
Tout cela fonctionne bien sauf que je n'ai que la prmière page du Datagrid
paginé à la base.
Je pense que le probléme provient du fait que tu envoi la grille et pas le dataset, de ce fait le systéme te renvoi que la premiere page.
Si tu veux avoir l'ensemble de tes données il faut remplacer la grille par le dataset.
cordialement,
"fabrice" a écrit dans le message de news:
Bonjour à tous.
Framework 1.1 Vb.net
J ai une page ou je lie un datagrid via un dataset. Ce dernier n est pas mis en cache ni en session. Sur le datagrid est activé la pagination et le tri. J ai un créé un bouton Export du datagrid au format Excel sur la page.
Le problème est que l'export ne ramène que la page courante. J'ai appliqué pas mal de solution dont mettre "allowpagingúlse" mais rien n y fait...
Voici le code :
J'ai créé une classe qui reçoit en paramètre le datagrid. !! Je me demande si le problème n'est pas ici. C'est à dire que l'objet transmis à la procédure "doExcelExport" n'est finalement pas que la datagrid "courant" à savoir la page courante uniquement a cause. Dans ce cas y aurait un moyen de transmettre tout le datagrid.
Dans la page : le bouton actionne cette procédure :
Sub doExcelExport(ByVal Sender As System.Object, e as ImageClickEventArgs)
[NameSpace.LaClass].doExcelExport (myDataGrid)
End Sub
le contenu de doExcelExport
Dim DimDataGrid As System.Web.UI.WebControls.DataGrid = expDataGrid
'Mise en Forme du Datagrid pour Export. With DimDataGrid .Columns(1).Visible = False .Columns(8).Visible = False .PagerStyle.Visible úlse .GridLines=GridLines.Both .HeaderStyle.Font.Size = FontUnit.Point(12) .HeaderStyle.BackColor = System.Drawing.Color.FromName("#FFFFFF") .borderwidth=Unit.Parse("1") .Borderstyle = BorderStyle.None .AllowPaging= False .EnableViewState = False .AllowSorting = False End With
Dim strFileName As String = "fichier.xls"
HttpContext.Current.Response.Clear() HttpContext.Current.Response.Buffer = True HttpContext.Current.Response.ContentType = "application/vnd.ms-excel" HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=""" & strFileName & """") HttpContext.Current.Response.Charset = "" Dim monStringWriter As System.IO.StringWriter = New System.IO.StringWriter Dim monHtmlTextWriter As System.Web.UI.HtmlTextWriter = New System.Web.UI.HtmlTextWriter(monStringWriter) DimDataGrid.RenderControl(monHtmlTextWriter) HttpContext.Current.Response.Write(monStringWriter.ToString()) HttpContext.Current.Response.End()
...
Tout cela fonctionne bien sauf que je n'ai que la prmière page du Datagrid paginé à la base.
Si vous avez une idée, merci par avance.
fabrice
hello daniel
finalement, ceci semble fonctionner
Sub doExcelExport(ByVal Sender As System.Object, e as ImageClickEventArgs) myDataGrid.AllowPaging= False myBindData() myXLSHelper.XLSHelper.doExcelExport (myDataGrid) myDataGrid.AllowPaging=True
Je désactive la pagination du Datagrid avant de passer mon objet datagrid, puis je le "remplis" de nouveau. Ca fonctionne bien.
merci de ton aide fab
"Daniel" a écrit dans le message de news:
Bonjour,
Je pense que le probléme provient du fait que tu envoi la grille et pas le dataset, de ce fait le systéme te renvoi que la premiere page.
Si tu veux avoir l'ensemble de tes données il faut remplacer la grille par le dataset.
cordialement,
"fabrice" a écrit dans le message de news:
Bonjour à tous.
Framework 1.1 Vb.net
J ai une page ou je lie un datagrid via un dataset. Ce dernier n est pas mis en cache ni en session. Sur le datagrid est activé la pagination et le tri. J ai un créé un bouton Export du datagrid au format Excel sur la page.
Le problème est que l'export ne ramène que la page courante. J'ai appliqué pas mal de solution dont mettre "allowpagingúlse" mais rien n y fait...
Voici le code :
J'ai créé une classe qui reçoit en paramètre le datagrid. !! Je me demande si le problème n'est pas ici. C'est à dire que l'objet transmis à la procédure "doExcelExport" n'est finalement pas que la datagrid "courant" à savoir la page courante uniquement a cause. Dans ce cas y aurait un moyen de transmettre tout le datagrid.
Dans la page : le bouton actionne cette procédure :
Sub doExcelExport(ByVal Sender As System.Object, e as ImageClickEventArgs)
[NameSpace.LaClass].doExcelExport (myDataGrid)
End Sub
le contenu de doExcelExport
Dim DimDataGrid As System.Web.UI.WebControls.DataGrid = expDataGrid
'Mise en Forme du Datagrid pour Export. With DimDataGrid .Columns(1).Visible = False .Columns(8).Visible = False .PagerStyle.Visible úlse .GridLines=GridLines.Both .HeaderStyle.Font.Size = FontUnit.Point(12) .HeaderStyle.BackColor = System.Drawing.Color.FromName("#FFFFFF") .borderwidth=Unit.Parse("1") .Borderstyle = BorderStyle.None .AllowPaging= False .EnableViewState = False .AllowSorting = False End With
Dim strFileName As String = "fichier.xls"
HttpContext.Current.Response.Clear() HttpContext.Current.Response.Buffer = True HttpContext.Current.Response.ContentType = "application/vnd.ms-excel" HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=""" & strFileName & """") HttpContext.Current.Response.Charset = "" Dim monStringWriter As System.IO.StringWriter = New System.IO.StringWriter Dim monHtmlTextWriter As System.Web.UI.HtmlTextWriter = New System.Web.UI.HtmlTextWriter(monStringWriter) DimDataGrid.RenderControl(monHtmlTextWriter) HttpContext.Current.Response.Write(monStringWriter.ToString()) HttpContext.Current.Response.End()
...
Tout cela fonctionne bien sauf que je n'ai que la prmière page du Datagrid paginé à la base.
Si vous avez une idée, merci par avance.
hello daniel
finalement, ceci semble fonctionner
Sub doExcelExport(ByVal Sender As System.Object, e as ImageClickEventArgs)
myDataGrid.AllowPaging= False
myBindData()
myXLSHelper.XLSHelper.doExcelExport (myDataGrid)
myDataGrid.AllowPaging=True
Je désactive la pagination du Datagrid avant de passer mon objet datagrid,
puis je le "remplis" de nouveau.
Ca fonctionne bien.
merci de ton aide
fab
"Daniel" <daniel.amaury_Non_Au_Spam@coplan.fr> a écrit dans le message de
news: OO9oP0CzGHA.4104@TK2MSFTNGP02.phx.gbl...
Bonjour,
Je pense que le probléme provient du fait que tu envoi la grille et pas le
dataset, de ce fait le systéme te renvoi que la premiere page.
Si tu veux avoir l'ensemble de tes données il faut remplacer la grille par
le dataset.
cordialement,
"fabrice" <emouchet@test.com> a écrit dans le message de news:
Oeh7yXBzGHA.5048@TK2MSFTNGP03.phx.gbl...
Bonjour à tous.
Framework 1.1
Vb.net
J ai une page ou je lie un datagrid via un dataset. Ce dernier n est pas
mis en cache ni en session.
Sur le datagrid est activé la pagination et le tri.
J ai un créé un bouton Export du datagrid au format Excel sur la page.
Le problème est que l'export ne ramène que la page courante. J'ai
appliqué pas mal de solution dont mettre "allowpagingúlse" mais rien
n y fait...
Voici le code :
J'ai créé une classe qui reçoit en paramètre le datagrid.
!! Je me demande si le problème n'est pas ici. C'est à dire que l'objet
transmis à la procédure "doExcelExport" n'est finalement pas que la
datagrid "courant" à savoir la page courante uniquement a cause.
Dans ce cas y aurait un moyen de transmettre tout le datagrid.
Dans la page : le bouton actionne cette procédure :
Sub doExcelExport(ByVal Sender As System.Object, e as
ImageClickEventArgs)
[NameSpace.LaClass].doExcelExport (myDataGrid)
End Sub
le contenu de doExcelExport
Dim DimDataGrid As System.Web.UI.WebControls.DataGrid = expDataGrid
'Mise en Forme du Datagrid pour Export.
With DimDataGrid
.Columns(1).Visible = False
.Columns(8).Visible = False
.PagerStyle.Visible úlse
.GridLines=GridLines.Both
.HeaderStyle.Font.Size = FontUnit.Point(12)
.HeaderStyle.BackColor = System.Drawing.Color.FromName("#FFFFFF")
.borderwidth=Unit.Parse("1")
.Borderstyle = BorderStyle.None
.AllowPaging= False
.EnableViewState = False
.AllowSorting = False
End With
Dim strFileName As String = "fichier.xls"
HttpContext.Current.Response.Clear()
HttpContext.Current.Response.Buffer = True
HttpContext.Current.Response.ContentType =
"application/vnd.ms-excel"
HttpContext.Current.Response.AddHeader("Content-Disposition",
"attachment; filename=""" & strFileName & """")
HttpContext.Current.Response.Charset = ""
Dim monStringWriter As System.IO.StringWriter = New
System.IO.StringWriter
Dim monHtmlTextWriter As System.Web.UI.HtmlTextWriter = New
System.Web.UI.HtmlTextWriter(monStringWriter)
DimDataGrid.RenderControl(monHtmlTextWriter)
HttpContext.Current.Response.Write(monStringWriter.ToString())
HttpContext.Current.Response.End()
...
Tout cela fonctionne bien sauf que je n'ai que la prmière page du
Datagrid paginé à la base.
Sub doExcelExport(ByVal Sender As System.Object, e as ImageClickEventArgs) myDataGrid.AllowPaging= False myBindData() myXLSHelper.XLSHelper.doExcelExport (myDataGrid) myDataGrid.AllowPaging=True
Je désactive la pagination du Datagrid avant de passer mon objet datagrid, puis je le "remplis" de nouveau. Ca fonctionne bien.
merci de ton aide fab
"Daniel" a écrit dans le message de news:
Bonjour,
Je pense que le probléme provient du fait que tu envoi la grille et pas le dataset, de ce fait le systéme te renvoi que la premiere page.
Si tu veux avoir l'ensemble de tes données il faut remplacer la grille par le dataset.
cordialement,
"fabrice" a écrit dans le message de news:
Bonjour à tous.
Framework 1.1 Vb.net
J ai une page ou je lie un datagrid via un dataset. Ce dernier n est pas mis en cache ni en session. Sur le datagrid est activé la pagination et le tri. J ai un créé un bouton Export du datagrid au format Excel sur la page.
Le problème est que l'export ne ramène que la page courante. J'ai appliqué pas mal de solution dont mettre "allowpagingúlse" mais rien n y fait...
Voici le code :
J'ai créé une classe qui reçoit en paramètre le datagrid. !! Je me demande si le problème n'est pas ici. C'est à dire que l'objet transmis à la procédure "doExcelExport" n'est finalement pas que la datagrid "courant" à savoir la page courante uniquement a cause. Dans ce cas y aurait un moyen de transmettre tout le datagrid.
Dans la page : le bouton actionne cette procédure :
Sub doExcelExport(ByVal Sender As System.Object, e as ImageClickEventArgs)
[NameSpace.LaClass].doExcelExport (myDataGrid)
End Sub
le contenu de doExcelExport
Dim DimDataGrid As System.Web.UI.WebControls.DataGrid = expDataGrid
'Mise en Forme du Datagrid pour Export. With DimDataGrid .Columns(1).Visible = False .Columns(8).Visible = False .PagerStyle.Visible úlse .GridLines=GridLines.Both .HeaderStyle.Font.Size = FontUnit.Point(12) .HeaderStyle.BackColor = System.Drawing.Color.FromName("#FFFFFF") .borderwidth=Unit.Parse("1") .Borderstyle = BorderStyle.None .AllowPaging= False .EnableViewState = False .AllowSorting = False End With
Dim strFileName As String = "fichier.xls"
HttpContext.Current.Response.Clear() HttpContext.Current.Response.Buffer = True HttpContext.Current.Response.ContentType = "application/vnd.ms-excel" HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=""" & strFileName & """") HttpContext.Current.Response.Charset = "" Dim monStringWriter As System.IO.StringWriter = New System.IO.StringWriter Dim monHtmlTextWriter As System.Web.UI.HtmlTextWriter = New System.Web.UI.HtmlTextWriter(monStringWriter) DimDataGrid.RenderControl(monHtmlTextWriter) HttpContext.Current.Response.Write(monStringWriter.ToString()) HttpContext.Current.Response.End()
...
Tout cela fonctionne bien sauf que je n'ai que la prmière page du Datagrid paginé à la base.