2010-12-12 63 views
3

en asp.net nous pouvons gérer l'événement RowDataBound du contrôle GridView. Cet événement se déclenche lorsque chaque ligne est ajoutée à la grille.Événement gridview rowdatabound dans les winforms?

je veux être en mesure de gérer cet événement dans le gridview dans une application WinForms, mais je ne peux pas trouver un événement similaire. ma question est quel est le nom de l'événement qui me permet de faire la même chose que RowDataBound dans asp.net?

Répondre

3

DataGridView n'a pas le même que dans la gestion des événements ASP.NET.

Ce que vous pouvez faire est gérer l'événement RowsAdded, mais notez que plus d'une ligne peut être ajoutée lorsque cet événement se déclenche. Un exemple:

private void dataGridView1_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e) 
{ 
    for (int i = e.RowIndex; i < e.RowCount + e.RowIndex; i++) 
    { 
     Console.WriteLine("Row " + i.ToString() + " added"); 
    } 
} 

En outre, cet événement est un peu bogué »- au moment où il est DataBound il peut tirer plus d'une fois pour chaque ligne, mais après il se comporte correctement - lorsque vous ajoutez une nouvelle ligne à source de données, il a été déclenché une seule fois. Mais, je devrais probablement mentionner (même si ce n'est pas votre question initiale), que si vous avez utilisé cet événement dans ASPX pour gérer le formatage de sortie, qu'ici un événement équivalent serait CellFormatting - cet événement est appelé chaque fois que les cellules doit afficher sa valeur.

0

Il n'y a pas de contrepartie exacte de l'événement RowDataBound pour le DataGridView WinForms . Mais si vous souhaitez modifier le texte affiché avant que la valeur d'une cellule ne soit affichée, vous pouvez gérer l'événement CellFormatting de le DataGridView.