Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.01.28;
Скачать: CL | DM;

Вниз

Две колонки в ListBox   Найти похожие ветки 

 
SergeyNew   (2002-01-07 11:12) [0]

Прошу помочь сделать в контроле ListBox два столбца (один невидимый) для возможности выбора по данным из невидимого столбца, а сортировки, изменений и т.д. по другому столбцу. Такой ListBox имеется в VB.


 
XeN   (2002-01-07 11:19) [1]

юзай ListView


 
SergeyNew   (2002-01-07 11:25) [2]

Использовать ListView вместо ListBox?


 
XeN   (2002-01-07 18:53) [3]

listview - то же самое, что и listbox, только колонки можно добавлять. :)


 
SergeyNew   (2002-01-07 19:22) [4]

Попробовал... :(((
Время записи в ListView в десятки раз больше, чем в ListBox.
Например 1000 строк пишется около 10 сек (в ListBox практически мгновенно). Что еще можете посоветовать?


 
XeN   (2002-01-07 20:38) [5]

Не может такого быть! У меня проект есть один, так там listview юзается по "чёрному" и ничего не глючит!


 
SoftOne   (2002-01-08 15:02) [6]

> SergeyNew
Если я правильно понял твой первый вопрос, то используй
ListBox1.Items.AddObject("MyString",TObject(MyData))

Получишь как раз "два столбца": видимый - "MyString" и невидимый MyData, где MyData - либо просто Integer, либо указатель на любые твои данные.


 
SergeyNew   (2002-01-08 18:38) [7]

> SoftOne
Это как раз то, что требуется.
Но у меня не получается :(((
Прошу, напиши код, как записывать в оба столбца и как считывать из них.
Например, для записи что-то типа:
For i:= 0 to 10 do
begin
col1:= "строка" + i
col2:= i
end;
end;
И что-нибудь для чтения.


 
kaif   (2002-01-09 01:48) [8]

При записи приводи integer к Pointer:
for i := 0 to 10 do
ListBox1.Items.AddObject("MyString "+ StrToInt(i), Pointer(i));

А при чтении, наоборот, pointer к integer :
for i := 0 to 10 do
begin
ShowMessage(
ListBox1.Items[i] + "-" +
IntToStr( Integer(ListBox1.Items.Objects[i])));
end;



 
SoftOne   (2002-01-09 01:49) [9]


var i, k : Integer
begin
for i:=0 to 10 do
ListBox1.AddObject("строкаi",TObject(i));

Это для записи.
Для чтения, например:

k:=Integer(ListBox1.Items.Objects[ListBox1.ItemIndex]);


 
SergeyNew   (2002-01-09 17:57) [10]

>SoftOne ©
>kaif ©

Все ОК!
Большое спасибо!



Страницы: 1 вся ветка

Текущий архив: 2002.01.28;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.004 c
3-90234
Быданцев Александр
2001-12-09 16:40
2002.01.28
DB2


1-90275
Mr. API
2001-12-27 19:31
2002.01.28
работа с архивами


1-90296
HydraMarat
2002-01-10 17:13
2002.01.28
ShowModal и MouseDown


7-90396
Nikolay
2001-10-18 21:50
2002.01.28
Tic-tac-свежесть всего в двух калориях?


6-90342
glycol
2001-11-05 14:41
2002.01.28
Как проверить eMail ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский