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 :
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()
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
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
Aussitôt que j'atteins le code concernant les colonnes, j'ai un message d'erreur

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
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 ?

merci,

Sophie