Bonjour,
Je voudrais modifier directement des données (deux colonne cases à cocher) dans un GridView, mais celui-ci s'affiche uniquement en visualisation, il n'est pas possible de cliquer sur les cases à cocher.
J'utilise Visual Studio 2008.
Je crée le GridView en mode design, dans la source, cela me donne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
  <asp:GridView ID="ListInter" runat="server" AllowPaging="True" PageSize="8">
                            <AlternatingRowStyle BackColor="#CCCCCC" />
  </asp:GridView>
Sur page Load, je définie un datatable pour stocker les différents critères...

Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
            DtResult = New System.Data.DataTable
            'Ajoute les critères à la liste
            DtResult.Columns.Add("N°", Type.GetType("System.String"))
            DtResult.Columns.Add("Gardien", Type.GetType("System.String"))
            DtResult.Columns.Add("Locataire", Type.GetType("System.String"))
            DtResult.Columns.Add("Motif", Type.GetType("System.String"))
            DtResult.Columns.Add("Date", Type.GetType("System.String"))
            DtResult.Columns.Add("Facturer", Type.GetType("System.Boolean"))
            DtResult.Columns.Add("Visa", Type.GetType("System.Boolean"))
 
            'Lien datatable grille: pour afficher le contenu de cette table
            Me.ListInter.DataSource = DtResult
            Me.ListInter.DataBind()

Je rempli mon datatable en vb via un select en SQL et j'actualise le GridView avec la fonction DataBind:

Code VB.NET : 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
        Dim cmdVInter = New OleDbCommand(StrSQL, cnt)
        Dim DrVinter As OleDbDataReader
 
        Dim NouvRow As Data.DataRow = DtResult.NewRow
 
        DrVinter = cmdVInter.ExecuteReader
        DtResult.Clear()
        While DrVinter.Read
            NouvRow("N°") = Nz(DrVinter("N°"))
            NouvRow("Gardien") = Nz(DrVinter("LibUser"))
            NouvRow("Locataire") = Nz(DrVinter("NomLoc"))
            NouvRow("Date") = Nz(DrVinter("DateInter"))
            NouvRow("Motif") = Nz(DrVinter("LibMotif"))
            NouvRow("Facturer") = Nz(DrVinter("Facturer"))
            NouvRow("Visa") = Nz(DrVinter("VisaChef"))
 
            DtResult.Rows.Add(NouvRow)
            NouvRow = DtResult.NewRow
        End While
 
        'Lien datatable grille
        Me.ListInter.DataSource = DtResult
        Me.ListInter.DataBind()

Je souhaiterai pouvoir modifier les 2 dernières colonnes qui sont des cases à cocher, mais à l'exécution, elles ne me sont pas accessibles.

J'ai cherché sur le net, mais rien trouvé qui puisse me faire avancer.

Merci de votre aide.