про ComboBox в c# msvs2003 ... не пойму кое чего

Alena_08_11

Хочу получить текст DisplayMember'а который ща выбран в ComboBox
string text = cb1.SelectedText ; -----> в text получается пустая строка ( хотя по идее вроде должно записывать то что надо)
string text = cb1.GetItemText(cb1.SelectedItem); ----> Получается всё как надо.
Почему первый путь не прокатывает то ? Или SelectedText это что то другое? не то что я думаю ?

yolki

Я в до-диез ничего не понимаю, но м.б. SelectedText это вот это?

Да, это свойство имеет смысл только когда фокус у комбобокса. как только фокус из него уходит - эта строка становится пустой.

yolki

Да, в Дельфях есть свойство ComboBox.Text, которое даёт то, что тебе нужно...
как в до-диез - не знаю, может тоже есть?

ruler

А в msdn'е что пишут?

anton7805

RTFM

Dasar

не понятно зачем тебе получать Selected Text, когда есть Selected Value

Alena_08_11

не понятно зачем тебе получать Selected Text, когда есть Selected Value
ComboBox заполняется DataSet-ом, DisplayMember - один столбец таблицы, ValueMember - другой,
так вот, SelectedValue это из набора ValueMember, а мне ещё при этом надо знать какой DisplayMember ему соответствует.

evgen5555

а мне ещё при этом надо знать какой DisplayMember ему соответствует.
Тогда зачем тебе DataSet? "шобы было"?:)

Alena_08_11

Тогда зачем тебе DataSet? "шобы было"?:)
От блин )
ок. Другой вопрос. Есть DataSet с 1-й таблицей со столбцами id и name.
Как вытащить значение name по значению id ?
На ум кроме перебора циклом каждой строчки и сравнивания что нить типа ds.Tables["tbl"].Columns[i]["id"] c cb.SelectedValue не приходит. Помоему не очень.

evgen5555

Используй "ds.tbl.Select("id='blablabla'")" или откажись от DataSet'ов в пользу ридеров - с твоим пониманием ADO.NET будет только хуже.

Alena_08_11

Используй "ds.tbl.Select("id='blablabla'")" или откажись от DataSet'ов в пользу ридеров - с твоим пониманием ADO.NET будет только хуже.
Ну ты мне прямо "вилы двойные устроил, с вензелями. В козла меня опустил ... "(с) Дядя
ps. Спасибо
pss. А насчёт понимания - так оно придёт со временем, я надеюсь :-)
psss. Всё равно

DataRow[] row = ds.Tables["tbl"].Select("id ="+Convert.ToString(cb.SelectedValue;
string text = Convert.ToString(row[0][1];

имхо хуже чем

string text = cb.GetItemText(cb.SelectedItem)

^ ^
Оставить комментарий
Имя или ник:
Комментарий: