Problème de création/affichage de datagrid

Résolu
turkam Messages postés 3 Date d'inscription dimanche 24 décembre 2006 Statut Membre Dernière intervention 3 août 2007 - 2 août 2007 à 15:40
turkam Messages postés 3 Date d'inscription dimanche 24 décembre 2006 Statut Membre Dernière intervention 3 août 2007 - 3 août 2007 à 11:16
Bonjour à tous !

J'essaie de créer plusieurs datagrid et de les afficher sur ma page dans un panel.
Etant donné que leur nombres et leur contenu ne sont définis que par une base de donnée (mysql), je suis obligé d'effectuer une création dynamique.

Pour commencer doucement j'ai mis le code suivant dans le Page_Load pour créer un seul datagrid :










Protected






Sub
Page_Load(
ByVal
sender
As


Object
,
ByVal
e
As
System.EventArgs)
Handles


Me



.Load




Try





'Je lance une requête pour récupérer (via une fonction) les données dans un DataTable




dtDemande = ResultatRequete()


'Initialisation de la datagrid

Dim
dtgPersonne

As



New


DataGrid

'Je met un peu en forme ma datagrid
dtgPersonne.ID =



"Homme1"



dtgPersonne.Title = "Premier individu"


dtgPersonne.AllowPaging =



True

dtgPersonne.AllowSorting =



True

dtgPersonne.Visible =



True



dtgPersonne.Width = 100
dtgPersonne.BorderWidth = 1
dtgPersonne.CellPadding = 4
dtgPersonne.CellSpacing = 0
dtgPersonne.GridLines = GridLines.Horizontal
dtgPersonne.ItemStyle.Font.Name =



"Verdana"



dtgPersonne.ItemStyle.Font.Size = FontUnit.XSmall
dtgPersonne.ShowHeader =



True

dtgPersonne.HeaderStyle.Font.Bold =



True



dtgPersonne.HeaderStyle.Font.Size = FontUnit.XSmall






'Définition de la clef primaire pour la liste

dtgPersonne.DataKeyField =

"D_ID"








'On tri par défaut sur le libelle

dtgPersonne.SortExpression =

"D_LIBELLE"








'On ne génère pas les colonnes automatiquement

dtgPersonne.AutoGenerateColumns =

False








'Ajout des colonnes qui seront affichées à la grille

dtgPersonne.AddColumn("Titre de la demande"

,

"D_LIBELLE"
,

"="


)
dtgPersonne.AddColumn("Nom de la personne"

,

"P_NOM"
,

"="


)







'Je crée un dataview





dvDemande =

New


Data.DataView(dtDemande)

'Je l'affecte à la datasource de ma datagrid




dtgPersonne.DataSource = dvDemande



'Normalement je dois faire un DataBind mais j'ai une erreur
'dtgPersonne.DataBind()

'J'ajoute ma datagrid à mon panel




pnlElem.Controls.Add(dtgPersonne)









Catch
ex

As


Exception
   ShowException(ex)


End





Try


Je vous ai enlevé les déclarations pour aérer un peu le code.
C'est tout bête mais ca marche pas ! lol
Le datagrid.databind() me renvoie une erreur si je le mets. Et bien sûr rien ne s'affiche si je l'enlève sans lui.
J'ai testé ma datatable, elle est parfaite ! :)

J'ai fait pas mal de recherche mais apparemment je suis le seul à rencontrer le problème !
Si vous pouviez m'aider, cela m'arrangerait beaucoup !

Merci d'avance ! :)

3 réponses

turkam Messages postés 3 Date d'inscription dimanche 24 décembre 2006 Statut Membre Dernière intervention 3 août 2007
3 août 2007 à 11:16
Bon j'ai trouvé le problème !

J'ai bêtement laissé des éléments Null dans la dataTable et ajouté une colonne vide !

Merci quand même pour ta réponse ! :)
3
mami17 Messages postés 56 Date d'inscription dimanche 11 février 2007 Statut Membre Dernière intervention 16 avril 2008
2 août 2007 à 18:01
salut
tu dis que tu as rencontré une erreur laquels ???
0
turkam Messages postés 3 Date d'inscription dimanche 24 décembre 2006 Statut Membre Dernière intervention 3 août 2007
3 août 2007 à 08:49
Merci pour ta réponse.
Il m'affiche :

La valeur ne peut pas être null.
Nom du paramètre : expression

Comme tu peux le deviner, je ne vois vraiment pas ce que cela signifie et d'où cela veut venir !?
0
Rejoignez-nous