Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > Установка ComboBox.Text при связанном DataSource


Автор: VID 26.9.2006, 14:22
Привет Всем! (MS VS 2005, C#)

У меня бага! Существует DataSet dsBankGroup с таблицей BankGroup. В таблице поля BankId, BankName, BankBIC и т.д. и т.п.
Загружаем таблицу TableAdapter'ом, там появляется с десяток строк.
Пишем (код приблизительный, но смысл тот же):
Код

dsBankGroup ds = new dsBank;
ComboBox cb = new ComboBox();
cb.DropDownStyle = DropDownStyle.DropDown;                 // редактируемый комбо-бокс.

cb.DataSource = ds;
cb.DisplayMember = ds.BankGroup.BankNameColumn.ToString();
cb.ValueMember = ds.BankGroup.BankNameColumn.ToString();   // так надо.

//Пытаемся установить произвольное текстовое значение
cb.SelectedItem = -1;
cb.Text = "тестовый банк";


Дальше интересней, если в датасете есть запись со значением столбца BankName = "тестовый банк №1", то вы никогда не сможете вывести 
строку "тестовый банк", она будет заменяться значением "тестовый банк №1", как будто AutoComplete работает  smile 
Если вы введете значение в cb.Text, такое которого даже близко нет в таблице датасета (к примеру в таблице наименования всех банков начинается со слова "тестовый", а мы пытаемся установить текст "Собинбанк"), то все выведется просто отлично - как записали.

Было подумал, что AutoComplete виноват, но нет всяческое экспериментирование с ним и поиск инфы в инете ничего не дал.
Люди, кто-нибудь встречал такое поведение? Как с этим борятся?

Автор: mr.DUDA 26.9.2006, 16:09
Это же комбобокс. В нём вручную (вводя текст) можно только выбрать сущ. запись, но не добавить новую.

Автор: VID 27.9.2006, 06:26
Да, но ведь вы можете ввести текст отличный от записей в Items при DropDownStyle = DropDown;
Так что я думаю это не веский аргумент

Автор: mr.DUDA 27.9.2006, 10:57
Для чего вообще вводить текст в поле комбобокса, если не для выбора item-а ? Какая задача ставится ?

Автор: VID 27.9.2006, 12:42
Задача: ввод любого возможного значения, гда значения в выпадающем списке - это удобное средство для быстрого поиска, но не более того.

Автор: mr.DUDA 27.9.2006, 18:41
Цитата(VID @  27.9.2006,  12:42 Найти цитируемый пост)
Задача: ввод любого возможного значения, гда значения в выпадающем списке - это удобное средство для быстрого поиска, но не более того.

Ответ: это невозможно при наличии биндинга у комбобокса.

Автор: VID 30.9.2006, 06:52
Чтож понятно...
Все равно спасибо.

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