powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как заполнить комбобокс
9 сообщений из 9, страница 1 из 1
Как заполнить комбобокс
    #32648037
Andy154
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток!

Предупреждаю сразу...
Про VB.NET нифига не знаю :-).

В VB существовал элементарный способ загрузки значений в ComboBox с добавлением дополнительной информации...

Код: plaintext
1.
2.
combo1.AddItem ("asdfdas")
combo1.ItemData( 1 ) =  100 

При этом на экране видна только строка, ессно. Но при необходимости можно достать и код...

Как сделать в VB.NET ТО ЖЕ САМОЕ? Никаких ItemData я там не нашел... Может не там искал?

Спасибо.
...
Рейтинг: 0 / 0
Как заполнить комбобокс
    #32648075
sposad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Два способа
Хочешь items.Add, а хочешь выставляй DataSource, ValueMember, DisplayMember
...
Рейтинг: 0 / 0
Как заполнить комбобокс
    #32648082
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТО ЖЕ САМОЕ напрямую - получится

можешь показывать в Combo любую коллекцию, реализующую IList или IListSource интерфейсы. (используя DataSource, ValueMember и DiasplayMember)
...
Рейтинг: 0 / 0
Как заполнить комбобокс
    #32648091
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oops, пропустил "не"

ТО ЖЕ САМОЕ напрямую - НЕ получится
...
Рейтинг: 0 / 0
Как заполнить комбобокс
    #32648169
Andy154
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всем!

Изврат, однако, блин...
А я так надеялся, что все станет проще :-)...
...
Рейтинг: 0 / 0
Как заполнить комбобокс
    #32650498
Andy154
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для тех, кому интересно...

Нашел такой способ...

Предлагаю сразу в FAQ :-)...


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
 ' вот такой класс и все проблемы снимаются :-) 
Public Class cboClass
    Public ItemString As String
    Public ItemData As Long
    Public ItemData2 As Long
    Public ItemData3 As Long
    Public Overrides Function ToString() As String
        ToString = ItemString
    End Function
End Class


...
 ' заполняем... 
        Dim ci As cboClass
        ci = New cboClass()
        ci.ItemData =  1 
        ci.ItemString = "t1"
        ComboBox1.Items.Add(ci)
        ci = New cboClass()
        ci.ItemData =  34 
        ci.ItemString = "t34" 
      ComboBox1.Items.Add(ci)

...
 ' получаем код... 
        Dim co As cboClass
        co = ComboBox1.SelectedItem
        MsgBox(co.ItemData)
...

...
Рейтинг: 0 / 0
Как заполнить комбобокс
    #32650648
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andy154
Как сделать в VB.NET ТО ЖЕ САМОЕ? Никаких ItemData я там не нашел... Может не там искал?

Вообще ComboBox Items = object и значит могут содержать в себе любые экземпляры пользовательских классов. Название которых может быть более содержательным, например класс Персона (Фамилия, Имя, Отчество, Дата Рождения, ИД ), Справочник лакокрасочных средств (ИД, Наименование) и т.д.
В этом смысле в VB.NET удобнее чем в VB.

Я бы предпочел создать временный DataTable и потом этот DataTable забиндить с ComboBox.
Хотя если это данные из БД, то и создавать вручную такой DataTable не обязательно.
Также при таком подходе от ComboBox можно абстрагироваться и работать через BindingContext.

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
Как заполнить комбобокс
    #32650939
zz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Sa:
Кстати, по ходу вопрос. Возможно ли подцепить к комбо DataRow() в качестве DataSource? Почему спрашиваю: если лепить всякие фильтры, то метод Select для DataSet возвращает именно DataRow(). Но у меня пока не получилось прицепить его как DataSource к комбо/листбоксу.
...
Рейтинг: 0 / 0
Как заполнить комбобокс
    #32653843
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно ли подцепить к комбо DataRow() в качестве DataSource? Почему спрашиваю: если лепить всякие фильтры, то метод Select для DataSet возвращает именно DataRow()

Используйте вместо метода Select класса DataTable , класс DataView и свойство RowFilter

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как заполнить комбобокс
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]