Здравствуйте, Barboska, Вы писали:
B>dataGridClients.SetDataBinding(dataClient.Tables["CLIENT"], null);
B>dataClient.Tables["CLIENT"].DefaultView.AllowNew = false; //Здесь все нормально!
B>dataClient.Tables["CLIENTS_PRICE"].DefaultView.AllowNew = false; //А при переходе в дочернюю таблицу можно добавлять столбцы!
...строки — это связано стем что для дочерних таблиц DataView создаются динамически при каждом новом показе
выход такой — обрабатывать событие Navigate в grid'e
private void dataGrid1_Navigate(object sender, System.Windows.Forms.NavigateEventArgs ne)
{ // запрашиваешь CurrencyManager для текущего bindig'a в grid'e
CurrencyManager cm=(CurrencyManager)(this.dataGrid1.BindingContext[this.dataGrid1.DataSource, this.dataGrid1.DataMember]);
// у CurrencyManager узнаем тот DataView, который он отрабатывает в текущий момент (куда идет навигация)
DataView dv=(DataView)(cm.List);
switch(dv.Table.TableName)
{ case "CLIENT":
dv.AllowNew=false;
...
break;
case "CLIENT_PRICE":
dv.AllowNew=false;
...
break;
}
}
проверил, вроде мин нет