2010-05-27 8 views

Répondre

3

Si vous souhaitez mettre à jour toutes les lignes avec la même valeur montrent alors un contrôle approprié (zone de texte/menu déroulant/case/radio) en-tête de colonne autre afficher la colonne de la grille en édition mode au lieu de l'étiquette.

Voir ci-dessous:
http://www.codeproject.com/KB/webforms/BulkEditGridView.aspx

+0

Les valeurs doivent être uniques pour chaque ligne. –

+0

Réponse éditée, voir l'exemple de lien. – Brij

+0

J'ai fini par utiliser une approche similaire à ce contrôle en héritant de GridView et en remplaçant l'événement CreateRow. –

0

Probablement pas le meilleur, mais une option est de mettre la clé primaire de votre table comme DataKey du GridView itérer, la grille et utilisez la clé de données et la valeur éditée mettre à jour la base de données. Voici un exemple.

<asp:GridView ID="GridView1" runat="server" DataKeyNames="ID"> 
    <Columns>..... 


foreach (var item in GridView1.Items) 
    { 
    var id = (Guid)GridView1.DataKeys[item.DataItemIndex].Value; 
    var txt= item.FindControl("AmountTextBox") as Textbox; 

    if (cb != null && id.HasValue) 
     UpdateRow(id.Value, txt.Text); 
    } 
Questions connexes