Я привязываю свой контроль к набору данных следующим образом:
txt.DataBindings.Add("Text", ds, true, DataSourceUpdateMode.OnPropertyChanged);
Затем я добавляю прослушиватели для таких изменений
private void attatchChangeListeners(DataSet ds)
{
foreach (DataTable dt in ds.Tables)
{
dt.RowChanged += new DataRowChangeEventHandler(dt_RowChanged);
dt.RowDeleted += new DataRowChangeEventHandler(dt_RowDeleted);
dt.TableNewRow += new DataTableNewRowEventHandler(dt_TableNewRow);
}
}
void dt_TableNewRow(object sender, DataTableNewRowEventArgs e)
{
if (!View.Dirty)
{
View.Dirty = true;
}
}
void dt_RowDeleted(object sender, DataRowChangeEventArgs e)
{
if (!View.Dirty)
{
View.Dirty = true;
}
}
void dt_RowChanged(object sender, DataRowChangeEventArgs e)
{
if (!View.Dirty)
{
View.Dirty = true;
}
}
Но когда я изменяю значение в текстовом поле в форме, я делаюне получить события.
Мне нужно вызвать endEdit во всех строках для запуска событий.
Я неправильно понял привязку данных или я что-то не так делаю?