Re[2]: WinForms: вопрос по Binding
От: MirrorBoy  
Дата: 31.03.04 20:55
Оценка:
Все заработало
Спасибо огромное

Теперь попытаюсь кратко указать на свои ошибки:
1.
Я писал так:
this.textBox1.DataBindings.Add("Text", Form1.form1.dataSet11, "Orders.CustomerID");

А нужно было писать так:
this.textBox1.DataBindings.Add("Text", Form1.form1.dataSet11.Orders, "CustomerID");

Причем, первый вариант генерится дизайнером. И он работает неправильно.
Не понятно, для чего так сделано

2.
Поскольку я хочу отображать значение в ДРУГОЙ форме, нужно синхронизировать CurrencyManager этих форм.

Для этого и был реализован механизм подписки на событие PositionChanged
Ael>
Ael>            //САМОЕ ГЛАВНОЕ:
Ael>            //ПОЛУЧАЕМ CURRENCYMANAGER ДЛЯ ГЛАВНОЙ ФОРМЫ
Ael>            cm=(CurrencyManager)this.BindingContext[this.ds.Customers];
Ael>             //ПОЛУЧАЕМ CURRENCYMANAGER ДЛЯ ВТОРОЙ ФОРМЫ
Ael>            cm1=(CurrencyManager)frm.BindingContext[this.ds.Customers];  
Ael>             //ПОДПИСЫВАЕМСЯ НА СОБЫТИЕ ДЛЯ CURRENCYMANAGER ГЛАВНОЙ ФОРМЫ
Ael>            cm.PositionChanged+=new EventHandler(cm_PositionChanged);
Ael>        }
    
Ael>        private void cm_PositionChanged(object sender, EventArgs e)
Ael>        {
Ael>            //ТАКИМ ОБРАЗОМ СИНХРОНИЗИРУЕМ НАШИ ДВА CURRENCYMANAGER
Ael>            cm1.Position=((CurrencyManager)sender).Position;
Ael>        }
Ael>


Еще раз благодарю Ael за ответ
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.