Salut,
J'essaie d'ajouter un userControl contenant un gridview au runtime mais ce que je comprends, c'est qu'il faudrait que j'initialise la grille avant, mais je ne sais pas comment.
Si j'utilise ce usercontrol en le glissant directement dans ma page, ça fonctionne très bien et si j'utilise le code pour l'ajouter au runtime en créant un contrôle ordinaire comme un textbox, ça marche très bien aussi.
Mon but est d'utiliser un grille prédéfinit (dans le usercontrol) contenant des colonnes prédéfinit également. Je dois ajouter à ma page des grilles contenant des données selon des régions pouvant variées en genre et en nombre... c.i.e que je peux avoir un nombre inconnu de grille avec du data différents mais toujours les mêmes champs... le pourquoi du usercontrol...
Bref, dans ma page j'ai ce code :
et dans le usercontrol j'ai le LoadGrid qui execute le code SQL (pas de bug) et le BindGrid suivant où ça plante
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Dim userCtrl As New ucProspectRemitterGrid userCtrl = New ucProspectRemitterGrid() userCtrl.InitializeAsUserControl(Me) PlaceHolder1.Controls.Add(userCtrl) userCtrl.LoadGrid()
Aussitôt que j'atteins le code concernant les colonnes, j'ai un message d'erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 Private Function BindGrid() As Boolean ' Set the data source and bind to the Data Grid control. Try SetLanguageVariables() mdvData = New DataView(mdtStoreData) gvResult = New GridView 'bind the DataGrid to the Datatable gvResult.DataSource = mdvData 'Rendu ici ça plante ! gvResult.Columns(mciColNom).HeaderText = msHeaderNom gvResult.Columns(mciColTelephone).HeaderText = msHeaderTelephone gvResult.Columns(mciColNomBeneficiaire).HeaderText = msHeaderNomBeneficiaire gvResult.DataBind() Return True Catch ex As Exception Response.Write(ex.Message ) Return False End Try End Function
Donc, il ne reconnaît pas mes colonnes car il ne les a pas encore définit... mais comment dois-je faire pour qu'il exécute le code du html ?L'index était hors limites. Il ne doit pas être négatif et doit être inférieur à la taille de la collection. Nom du paramètre : index
merci,
Sophie
Partager