Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.01.28;
Скачать: [xml.tar.bz2];

Вниз

Две колонки в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.004 c
3-90205
Koks
2001-12-24 10:42
2002.01.28
QReport.....?


3-90226
Ross
2001-12-24 21:58
2002.01.28
ProgressBar


1-90323
Surprising
2002-01-06 17:36
2002.01.28
Сохранить форму как файл графики


3-90232
Стас
2001-12-24 11:19
2002.01.28
DBLookupBox


1-90324
DStealth
2002-01-10 19:01
2002.01.28
Как импортировать из DLL класс?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский