добавление записей, редактирование, удаление - PullRequest
0 голосов
/ 28 марта 2012

Может ли кто-нибудь дать мне какие события обрабатывать для управления сеткой синхронизации. В контекстном меню, если выбрана запись add, пользователь должен иметь возможность добавить и затем сохранить ее в db

спасибо ВС

1 Ответ

0 голосов
/ 19 июня 2012

Если это ContextMenuStrip, с помощью которого вы связали контекстное меню с сеткой, вы можете обработать событие ItemClicked и обработать обновления ограниченного источника данных. GridGroupingControl по умолчанию отражает изменения, сделанные в базовом источнике данных, при условии, что источник данных поддерживает уведомление о любых изменениях (например, IBindingList, IEnumerable и т. Д.).

Следующий код иллюстрирует это, рассматривая ограниченный источник данных как 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);
}

Для типов источников данных (таких как ArrayList), которые не генерируют уведомление самостоятельно для каких-либо изменений в нем, после обработки обновления базового источника данных можно обработать следующий код, чтобы обновить Inorder GridGroupingControl для отражения обновленный вид.

this.gridGroupingControl1.Reinitialize();
...