Страница: 1 |
|
Вопрос: ComboBox- отдельный ключ у каждого элемента
|
Добавлено: 28.07.04 13:09
|
|
Автор вопроса: Barulya
|
Дело в том, что я использую списки из базы данных и для каждого из элементов определен свой ID (ключ), который мне для выбранного элемента потом необходимо узнать, базы данных я подключаю к проге при помощи ADODB. Прогу пишу в VB.Net(7.0). Делаю я это следующим образом: при заполнении списка элементов, я создаю массив (целочисленный одномерный) у которого индекс соответствует индексу элемента в списке, а значение соответствует ID (ключу) данного элемента. По завершении перебора и ввода всех элементов я свойству ComboBox.Tag присваиваю значение целого массива. И потом методом перебора по известному индекчу выранного элемента нахожу необходимый ID (ключ). Но, как мне кажется эта процедура занимает много системных ресурсов (память, быстродействие). В VB6.0 насколько я понимаю это делалось элементарно: вместо обычного списка был двухмерный список.
Ответить
|
Номер ответа: 2 Автор ответа: Stik
Вопросов: 14 Ответов: 10
|
Профиль | | #2
|
Добавлено: 01.08.04 15:44
|
Не знаю об этом или нет, но вот отрывок из "101 VB.NET Samples":
'define a structure for a sales division which has
' a division name and division id.
protected structure Divisions
private divName as String
private divId as Integer
public sub new(name as String, id as Integer)
divName=name
divId = id
End Sub
public readonly property getName() as String
get
return divName
End Get
end property
public readonly property getId() as Integer
get
return divID
End Get
End Property
End structure
sub .......
'bind to an arraylist that contains entries based on the the structure that
' has been defined sales divisions (divisions).
dim myDivisions as new ArrayList
'add division structure entries to the arraylist
with myDivisions
.Add(New Divisions(" CENTRAL", 1))
.Add(new Divisions("EAST",2))
.Add(new Divisions("NORTH",3))
.Add(new Divisions("SOUTH",4))
end With
'bind the arraylist to the combo box
With combobox1
.datasource=myDivisions
.Displaymember="getName"
.ValueMember="getId"
End With
combobox1.SelectedIndex=0
end sub
Ответить
|
Страница: 1 |
Поиск по форуму