Bonjour,
je m'acharne depuis un certain temps maintenant a regler mon pb, cependant cela ne marche pas.
Dans ce ptit bout de programme, je veux arriver à :
1) Afficher une checkbox dans une datagrid (but : effectuer un traitement de plusieurs lignes lignes avec un seul aller retour serveur) :
dans le design html (je vois pas comment l'appeler autrement)
<asp:DataGrid id="dgTableau" style="Z-INDEX: 106; LEFT: 163px; POSITION: absolute; TOP: 42px" runat="server" Height="412px" Width="859px" ShowFooter="True" >
<Columns>
'La permiere colonne de mon tableau
<asp:TemplateColumn>
<HeaderTemplate>
<button type="button" runat="server" value="Appliquer" name="Appliquer">Appliquer</button>
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox Runat="server"></asp:CheckBox>
</ItemTemplate>
<FooterTemplate>
<button type="button" runat="server" value="Appliquer" name="Appliquer">Appliquer</button>
</FooterTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
ce qui semble marcher
2) sur le page_load, je rempli tout simplement mon tableau (c tres cradok mais j'ai enlevé la fonction databind pour plus de lisibilité) :
Dim drBDD As MySqlDataReader
Dim MySqlCmd As MySqlCommand
Dim dt As DataTable = New DataTable()
Dim dr As DataRow
ConDB.ConnectionString = connectionString
ConDB.Open()
MySqlCmd = New MySqlCommand(lstrRequete, ConDB)
drBDD = MySqlCmd.ExecuteReader(CommandBehavior.CloseConnection)
'Description des colonnes
dt.Columns.Add(New DataColumn("Login"))
dt.Columns.Add(New DataColumn("Type Reclamation"))
dt.Columns.Add(New DataColumn("Description Reclamation"))
While (drBDD.Read)
'Remplissage de la datatable a partir du datareader
dr = dt.NewRow()
dr(0) = drBDD.GetValue(0)
dr(1) = drBDD.GetValue(1)
dr(2) = drBDD.GetValue(2)
dt.Rows.Add(dr)
End While
'On met le dataTable dans le Data view (equivalent d'un dataset?)
Dim dv As DataView = New DataView(dt)
'Je nourris ma DataGrid
dgTableau.DataSource = dv
dgTableau.DataBind()
3) En essayant de suivre l'exemple conseillé par un camarade CS, j'ai essayer cet source issue de c2i (en la déformant bien sur):
Private Sub dgTableau_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dgTableau.ItemCommand
If e.CommandName <> "Appliquer" Then Exit Sub
Dim oDGitem As DataGridItem
For Each oDGitem In dgTableau.Items
If CType(oDGitem.FindControl("Appliquer"), CheckBox).Checked Then
Dim login_utilisateur As String = CType(dgTableau.DataKeys(oDGitem.ItemIndex), String)
desactive(login_utilisateur)
End If
Next
End Sub
Cependant, je n'arrive JAMAIS à aller sur cette fonction... erreur de ma part, faute d'innatention, heure tardive ?
je n'y arrive plus...
Un ptit coup de pouce ne serai pas de refus :)
Merci,
Helbi