Re[8]: DataViewManager и DataGrid
От: Barboska  
Дата: 19.03.03 08:15
Оценка:
Здравствуйте, SCS, Вы писали:

SCS>Здравствуйте, Barboska, Вы писали:

B>>С первым вроде разобрались, большое спасибо.
B>>Соотвественно можно для DefaultView устанавливать и RowFilter?
SCS>да, и RowFilter и Sort

B>>По второму — такую привязку я делал, всегда высвечивается первый элемент таблиц.

B>>Нутром чувствую нужно как-то настроить BindingContext а вот как его связать с выбранной строкой в таблице?
SCS>еще раз внимательно посмотри на свой код
SCS>
SCS>dataGridClients.SetDataBinding(dataClient.Tables["CLIENT"], null); 
SCS>textBox1.DataBindings.Add("Text", dataClient.Tables["CLIENT"], "Фамилия");
SCS>textBox2.DataBindings.Add("Text", dataClient.Tables["CLIENT"], "Цены.ЦенаКлиента");
SCS>

SCS>DataSource должен быть одним и тем же. всю синхронизацию выполняет CurrencyManager — при изменении текущей строки в grid автоматом поменяет text в bind контролах.

Сработало, спасибо. А я вручную события отслеживал даже сортировку на MouseUp.
Знание — сила! Вопрос такой, где можно почитать про этот CurrencyManager. и вообще про DataSet и DataGrid.

Почему-то такой код не работает
...
dataClient.Relations.Add("Цены", dataClient.Tables["CLIENT"].Columns["Ccode"],
dataClient.Tables["CLIENTS_PRICE"].Columns["Ccode"]);


dataClient.EnforceConstraints = true;

dataGridClients.SetDataBinding(dataClient.Tables["CLIENT"], null);
dataClient.Tables["CLIENT"].DefaultView.AllowNew = false; //Здесь все нормально!
dataClient.Tables["CLIENTS_PRICE"].DefaultView.AllowNew = false; //А при переходе в дочернюю таблицу можно добавлять столбцы!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.