Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Базы данных под .NET > ComboBox + DataTable


Автор: Galinka06 16.1.2007, 18:54
есть следующий код:
Код

            _dlg.comboResIn.DataSource = CurrentEngine.Tables["Behaelter"];
            _dlg.comboResIn.DisplayMember = "Name";
            _dlg.comboResIn.ValueMember = "ID";

            _dlg.comboResOut.DataSource = CurrentEngine.Tables["Behaelter"];
            _dlg.comboResOut.DisplayMember = "Name";
            _dlg.comboResOut.ValueMember = "ID";

            _dlg.comboResBB.DataSource = CurrentEngine.Tables["Behaelter"];
            _dlg.comboResBB.DisplayMember = "Name";
            _dlg.comboResBB.ValueMember = "ID";


все три комбо работают синхронно ((. Т.е. во всех SelectedIndex одинаков. Как от этого избавится?

Автор: mr.DUDA 16.1.2007, 21:58
Хороший вопрос. Судя по всему, нужно навесить на три комбобокса разные DataBinding-и (так чтобы они юзали отдельные CurrencyManager-ы), а как это сделать - неясно, нужно читать мсдн. Первое что приходит в голову - создать класс-обёртку на основе IList, внутри которых хранить DataTable, и три его экземпляра; каждому экземпляру присвоить ссылку на CurrentEngine.Tables["Behaelter"] и указывать в качестве DataSource соответствующий экземпляр своего класса вместо DataTable.

Автор: Galinka06 16.1.2007, 22:57
Спасибо. Значит нада три разные таблицы/три экземпляра одной таблицы. Будем копать дальше  smile

Добавлено @ 22:59 
А если сделать DataView персонально для каждого комбо? Или это не рационально?

Автор: mr.DUDA 16.1.2007, 23:26
DataView - хороший вариант.

Автор: Galinka06 17.1.2007, 03:51
mr.DUDA большое Вам спасибо... Или данке по-нашему ))

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)