Gridview et connexion à une table crée dynamiquement
cs_prady92
Messages postés9Date d'inscriptionvendredi 16 septembre 2005StatutMembreDernière intervention16 février 2010
-
27 nov. 2007 à 18:19
cs_prady92
Messages postés9Date d'inscriptionvendredi 16 septembre 2005StatutMembreDernière intervention16 février 2010
-
27 nov. 2007 à 18:21
Bonsoir et d'avance merci à tous,
je crée une table dynamiquement de la façon suivante (j'ai simplifié) :
en sachant que "mesInfos" est un tableau alimenté par ailleurs et que
"maGrid" ne contient qu'une seule colonne de type Templatefield.
ci-joint du code afin de bien me faire comprendre car il n'est pas simple d'expliquer
Dim MonDataset As DataSet New DataSet()Dim table1 As DataTable MonDataset.Tables.Add("Matable")Dim column As DataColumn = table1.Columns.Add("MaColonne",
System.Type.GetType("System.String"))Dim row As DataRow
Dim i AsIntegerFor i = 0To mesInfos.Length - 1
row = table1.NewRow()
row("MaColonne") = mesInfos(i)
table1.Rows.Add(row)Next i
MaGrid.DataSource = MonDataset.Tables("Matable")
MaGrid.DataMember = "MaColonne"
MaGrid.DataBind()
<!-- END TEMPLATE: bbcode_code -->Par exemple si j'ai 4 lignes dans ma table ==> " magrid " affiche bien 4 lignes,
si j'ai 12 lignes dans ma table == > " magrid " affiche bien 12 lignes mais la
colonne m'affiche tout le temps " System.data.datarowview " pour chaque ligne.
Je sais que je pourrais faire directement MaGrid.DataSource = mesInfos (et
ça marche) mais ce n'est pas ce que je veux car là c'est pour l'exemple que
j'ai utilisé un tableau qui alimente une table crée dynamiquement (mais dans
mon programme d'origine c'est autrement que je l'alimente et je n'ai pas la
place pour tout écrire, c'est juste pour évoquer mon problème que j'utilise
un tableau).
J'ai essayé avec MaGrid.DataMember = "aaa" pour voir et j'obtiens le même
résultat donc je pense que c'est de ce côté que je bugue.
Même chose si je ne renseigne pas du tout MaGrid.DataMember .
cs_prady92
Messages postés9Date d'inscriptionvendredi 16 septembre 2005StatutMembreDernière intervention16 février 2010 27 nov. 2007 à 18:21
Bonsoir et d'avance merci à tous,
je crée une table dynamiquement de la façon suivante (j'ai simplifié) :
en sachant que "mesInfos" est un tableau alimenté par ailleurs et que
"maGrid" ne contient qu'une seule colonne de type Templatefield.
ci-joint du code afin de bien me faire comprendre car il n'est pas simple d'expliquer
Dim MonDataset As DataSet = New DataSet()
Dim table1 As DataTable = MonDataset.Tables.Add("Matable")
Dim column As DataColumn = table1.Columns.Add("MaColonne",
System.Type.GetType("System.String"))
Dim row As DataRow
Dim i AsInteger
For i = 0To mesInfos.Length - 1
row = table1.NewRow()
row("MaColonne") = mesInfos(i)
table1.Rows.Add(row)
Next i
MaGrid.DataSource = MonDataset.Tables("Matable")
MaGrid.DataMember = "MaColonne"
MaGrid.DataBind()
Par exemple si j'ai 4 lignes dans ma table ==> " magrid " affiche bien 4 lignes,
si j'ai 12 lignes dans ma table == > " magrid " affiche bien 12 lignes mais la
colonne m'affiche tout le temps " System.data.datarowview " pour chaque ligne.
Je sais que je pourrais faire directement MaGrid.DataSource = mesInfos (et
ça marche) mais ce n'est pas ce que je veux car là c'est pour l'exemple que
j'ai utilisé un tableau qui alimente une table crée dynamiquement (mais dans
mon programme d'origine c'est autrement que je l'alimente et je n'ai pas la
place pour tout écrire, c'est juste pour évoquer mon problème que j'utilise
un tableau).
J'ai essayé avec MaGrid.DataMember = "aaa" pour voir et j'obtiens le même
résultat donc je pense que c'est de ce côté que je bugue.
Même chose si je ne renseigne pas du tout MaGrid.DataMember .
avec
MaGrid.DataSource = MonDataset
MaGrid.DataMember = "MaColonne"
MaGrid.DataBind()
j'obtiens l'erreur : Le IListSource utilisé ne contient pas une source de données appelée 'MaColonne'. Vérifiez votre valeur DataMember.
Donc ma question est : comment obtenir pour chaque ligne de MaGrid le contenu de la
colonne "MaColonne" ?