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();