ListView. Как сохранить идентификаторы?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
ЮЮ
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 13.06.2004 (Вс) 11:32
Откуда: Эстония

ListView. Как сохранить идентификаторы?

Сообщение ЮЮ » 13.06.2004 (Вс) 11:55

Допустим у меня 2 колонки.
Set ch1 = .ColumnHeaders.Add(Text:="кол. 1")
Set ch2 = .ColumnHeaders.Add(Text:="кол. 2")

и заполнены 2 ряда
Set lv = .ListItems.Add(X)
.ListItems(Х).Text = "text 1.1"
.ListItems(X).SubItems(1) = "text 1.2"

Set lv = .ListItems.Add(X)
.ListItems(Х).Text = "text 2.1"
.ListItems(X).SubItems(1) = "text 2.2"

Скажите пожалуйста как мне сохранить к ним идентификатор допустим "666" и "13" для 1-й и 2-й строки соответственно? и как потом мне к нему обратится?
Умею только так .SelectedItem.Text, то есть текст из первой колонки, но это не катит, т.к. там я хочу хранить просто порядковые номера строк, а в идентификаторах ID к записям в ДБ.
Смотрел форум, но чтото не нашел что мне надо или скорее толком не понял как!
Спасибо!

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Сообщение Alexanbar » 13.06.2004 (Вс) 16:05

Есть свойство key:

при добавлении указывать key, т.е. идентификатор записи в бд, только в начало добавить к-л букву, напр.ID366

listview1.ListItems.Add index,key,text,icon,smallicon



затем можно обратиться к любому жлк\ементу либо по номеру, дибо по ключу:

Listitems(index) или Listitems("key")

ЮЮ
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 13.06.2004 (Вс) 11:32
Откуда: Эстония

Сообщение ЮЮ » 13.06.2004 (Вс) 16:39

Alexanbar писал(а):Есть свойство key:

при добавлении указывать key, т.е. идентификатор записи в бд, только в начало добавить к-л букву, напр.ID366



А можно обойтись как-нибудь без приставки ID? Это еще надо мульку выполнять по отсечению ID! Геморно както!
А нельзя как в ListBox'e - .ItemData(.NewIndex) = 5 и т.д. ?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 14.06.2004 (Пн) 10:51

Нет, префикс придется использовать.
Дело в том, что поле ListItems(<key>) имеет тип Variant, а сам элемент слишком умный. И когда ты указываешь .ListItems("2"), он считает, что ты хочешь обратиться не к элементу с идентификатором "2", а к элементу с порядковым номером 2; он проверяет не тип аргумента (стринговый, числовой), а содержание, и если оно является числовым, то для контрола это всегда индекс.
Lasciate ogni speranza, voi ch'entrate.

ЮЮ
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 13.06.2004 (Вс) 11:32
Откуда: Эстония

Сообщение ЮЮ » 15.06.2004 (Вт) 10:51

Спасибо! тему можно закрывать!


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 22

    TopList