EnableViewState

Résolu
cs_SpanK Messages postés 15 Date d'inscription vendredi 11 janvier 2002 Statut Membre Dernière intervention 29 mai 2008 - 8 août 2005 à 13:26
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 - 8 août 2005 à 16:26
Bonjour,

Je suis en VS2003, ASP.NET et VB.NET.

Je rempli un datagrid depuis SQL Server et ca marche bien.
J'active la propriété EnableViewState afin de visualiser les données en cad de reload
de la page tout en minimisant les echanges avec la BDD et ca marche aussi (avec
l'option autogeneratecolumn)

Mais quand je génère "manuellement" les colonnes, le datagrid les affiches la première
fois mais pas après un reload... Comme si la propriété EnableViewState ne fonctionnait
plus...

Quelqu'un aurait une idée ? Merci d'avance :)

4 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
8 août 2005 à 16:26
c'est normal, si tu refais pas tes colonnes lors d'un postback comment veux tu qu'ensuite il y ait des données ? le viewstate va juste garder les données pas le conteneur des données.

Et puis je te conseil de faire tes colonnes, dans le code html, tu auras surement moins de problème. Car si tu ne met pas ton code dans l'evenement init de la page, ca ne marchera pas non plus.

donc la solution, soit tu fais tes colonnes dans le HTML, ou alors tu fais tes colonnes dans l'evenement init et ceux pour chaque requete meme en cas de postback.


<HR>
Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
3
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
8 août 2005 à 14:04
Qu'appelles tu generer manuellement les colonnes ? en les mettant dans l'html ?



sinon comme ca, je ne vois pas, tu fais comment pour associer ton datagrid a ton dataset ?

<hr> Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
0
cs_SpanK Messages postés 15 Date d'inscription vendredi 11 janvier 2002 Statut Membre Dernière intervention 29 mai 2008
8 août 2005 à 16:18
En fait je les ajoute par code VB.NET lors de la premiere creation du datagrid.

ex :


'Pas de génération automatique des colonnes


_MyDG.AutoGenerateColumns =
False



'Colonne de sélection (colonne de type bouton)



Dim colSel
As
New ButtonColumn


colSel.Text = "Modif"


colSel.HeaderText = "Action"


colSel.CommandName = "Modifier"


colSel.ItemStyle.Width =
New Unit(80)



'Ajout d'une nouvelle colonne


_MyDG.Columns.Add(colSel)

etc...

après j'ajoute mes colonnes de données.

Le datagrid s'affiche bien, mes données sont présentes... mais quand je reload la page et que j'utilise ispostback pour ne pas regénérer le datagrid, eh bien ce dernier ne s'affiche pas :(

tu comprends ?
0
cs_SpanK Messages postés 15 Date d'inscription vendredi 11 janvier 2002 Statut Membre Dernière intervention 29 mai 2008
8 août 2005 à 16:20
Oups... j'ai oublié, pour associer mon dataset a mon datagrid, je renseigne la propriété datasource du datagrid :)
0
Rejoignez-nous