Wenn es der Context, über die Sie das Kontextmenü begrenzt ist Im Grid können Sie das ItemClicked-Ereignis behandeln und Aktualisierungen der beschränkten Datenquelle verarbeiten. GridGroupingControl spiegelt standardmäßig die Änderungen wider, die in der zugrunde liegenden Datenquelle vorgenommen wurden, vorausgesetzt, die Datenquelle unterstützt Benachrichtigungen bei Änderungen (wie IBindingList, IEnumerable usw.).
Der folgende Code veranschaulicht dies unter Berücksichtigung der beschränkten Datenquelle als 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);
}
Für Datasource-Typen (wie Arraylist), die, sobald das Update auf die zugrunde liegende Datenquelle behandelt wurden, keine Benachrichtigung auf eigene für jede Änderung auf sie erhöhen, kann der folgende Code der aufzufrischen behandelt werden GridGroupingControl, um die aktualisierte Ansicht widerzuspiegeln.
this.gridGroupingControl1.Reinitialize();