2011-04-05 4 views
0

J'ai une liste d'éléments dans un GridView, avec une colonne que je voudrais éditer via une DropDownList. Je ne souhaite pas mettre le GridView en mode 'edit' ou avoir des boutons 'confirm/update/save'. Je veux juste un autopostback sur le DDL, et un OnSelectedIndexChangedevent pour mettre à jour la ligne.DropDownList dans GridView - mettre à jour la ligne avec OnSelectedIndexChanged

Le problème est, à partir de mon OnSelectedIndexChangedevent dans le DDL, bien que je puisse voir la nouvelle valeur à enregistrer, je ne peux pas découvrir la ligne à mettre à jour à partir de GridView. Est-ce que quelqu'un peut voir comment je peux réaliser ce que je souhaite? Autre que peut-être stocker l'identifiant de ligne dans le DDL? Peut-être le retourner pour que les événements de GridView soient appelés?

Je suppose que ce genre de questions vient de commencer par ms accès :)

Cheers!

+0

Pourriez-vous montrer le code que vous ajoutez à dropdownlist GRIDVIEW? – vvk

Répondre

1

En règle générale, vous devez relier à nouveau le GridView avec les données pour cela. Vous pouvez également essayer de boucler jusqu'à GridViewRow en accédant à la propriété Parent de DropDownList; Si vous faites assez de références parentes (ddl.Parent.Parent), l'une de ces références parentes est le GridViewRow.

HTH.

+0

Excellent .. merci beaucoup :) –

1

Je l'utilise, et cela fonctionne bien.

Protected Sub DropDownList1_SelectedIndexChanged(sender As Object, e As System.EventArgs) 
    Dim TheRowIndex As Integer = sender.Parent.Parent.RowIndex 
    Gridview1.UpdateRow(TheRowIndex, False) 
    Gridview1.DataBind() 
End Sub 

Vous pouvez également utiliser ce même code pour CheckBox etc.

Vive

Dean

Questions connexes