Datagrid : Action sur un bouton dans un DataGrid

Helbi Messages postés 8 Date d'inscription lundi 23 mai 2005 Statut Membre Dernière intervention 15 juin 2006 - 9 juin 2005 à 02:46
bazahmed Messages postés 1 Date d'inscription vendredi 31 décembre 2004 Statut Membre Dernière intervention 29 octobre 2005 - 29 oct. 2005 à 13:08
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)

<COLUMNS><HEADERTEMPLATE> </HEADERTEMPLATE><FOOTERTEMPLATE> </FOOTERTEMPLATE></COLUMNS>
<Columns>
'La permiere colonne de mon tableau

<HeaderTemplate>
Appliquer
</HeaderTemplate>



<FooterTemplate>
Appliquer
</FooterTemplate>

</Columns>

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

2 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
9 juin 2005 à 09:51
</HEADERTEMPLATE><FOOTERTEMPLATE> </FOOTERTEMPLATE></COLUMNS>Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
0
bazahmed Messages postés 1 Date d'inscription vendredi 31 décembre 2004 Statut Membre Dernière intervention 29 octobre 2005
29 oct. 2005 à 13:08
aller à la propriété "datakeyfield" de votre datagrid et tapez votre "loginuser"

salut
0
Rejoignez-nous