2012-03-28 3 views

Répondre

0

Si c'est le ContextMenuStrip à travers lequel vous bounded le menu contextuel Dans la grille, vous pouvez gérer l'événement ItemClicked et gérer les mises à jour de la source de données délimitée. GridGroupingControl, par défaut, reflète les modifications apportées à la source de données sous-jacente, à condition que la source de données prenne en charge la notification des modifications (telles que IBindingList, IEnumerable, etc.).

Le code suivant illustre ceci en considérant la source de données délimitée comme DataView.

// Event Handler 
this.gridGroupingControl1.ContextMenuStrip.ItemClicked += new ToolStripItemClickedEventHandler(ContextMenuStrip_ItemClicked); 

// Method Invoked 
void ContextMenuStrip_ItemClicked(object sender, ToolStripItemClickedEventArgs e) 
{ 
    DataTable dt = (this.gridGroupingControl1.DataSource as DataView).Table; 
    DataRow dr = dt.NewRow(); 
    for (int i = 0; i < dt.Columns.Count; i++) 
     dr[i] = 0; //default value 
    dt.Rows.Add(dr); 
} 

Pour les types de source de données (comme ArrayList), qui ne soulèvent pas de notification lui-même pour tout changement à ce sujet, une fois ont été manipulés la mise à jour la source de données sous-jacente, le code suivant peut être manipulé pour rafraîchir la GridGroupingControl inorder pour refléter la vue mise à jour.

this.gridGroupingControl1.Reinitialize(); 
Questions connexes