Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.08.2008, 00:20   #1
aesoem
Форумчанин
 
Регистрация: 24.12.2007
Сообщений: 288
По умолчанию Listview1

У меня на форме есть ListView и в нем 2 колонки как в эти колонки вносить текст???

Код:
listview1.Items.Add.Caption:='1';
а для 2 получается надо вот так:
Код:
listview1.Items.Add.SubItems.Text:='1';
А если мне надо чтобы все эти 2 цифры были в одной строчке, они тут получаются в разных так как ADD вызывается 2 раза!

Последний раз редактировалось aesoem; 02.08.2008 в 15:12.
aesoem вне форума Ответить с цитированием
Старый 02.08.2008, 19:40   #2
Ring0Sn
Форумчанин
 
Аватар для Ring0Sn
 
Регистрация: 06.09.2007
Сообщений: 239
По умолчанию

Код:
with listview1.Items.Add do begin
  Caption:='1';  
  SubItems.Add('1');
end;
Ring0Sn вне форума Ответить с цитированием
Старый 02.08.2008, 19:59   #3
aesoem
Форумчанин
 
Регистрация: 24.12.2007
Сообщений: 288
По умолчанию

Спасибо, а как присвоить текст к примеру только 3 колонке?

и желательно без цикла у меня добовление в цикле проводится получается по 10 строк!

Последний раз редактировалось zetrix; 03.08.2008 в 12:19.
aesoem вне форума Ответить с цитированием
Старый 02.08.2008, 23:13   #4
Ring0Sn
Форумчанин
 
Аватар для Ring0Sn
 
Регистрация: 06.09.2007
Сообщений: 239
По умолчанию

SubItems = класс TStrings (это и есть те самые подпункты колонки, одна строка один подпункт)
Значит 3 й подпункт 1й колонки будет
Код:
listview1.Items[0{индексы начинаються с нуля}].SubItems[2{аналогично}] := 'бла бла бла';
Ring0Sn вне форума Ответить с цитированием
Старый 02.08.2008, 23:13   #5
komex
Пользователь
 
Регистрация: 16.12.2006
Сообщений: 82
По умолчанию

Цитата:
Сообщение от aesoem Посмотреть сообщение
Спасибо, а как присвоить текст к примеру только 3 колонке?
ListView1.Items[i].SubItems.Strings[j] := 'текст в 3 колонке';
i - номер строки.
j - номер столбца после первого. Если нужна 3 колонка, то ставишь 2.

P.S. Только для того что бы таким образом изменять текст, нужно что бы эти колонки были добавлены в ListView.
komex вне форума Ответить с цитированием
Старый 02.08.2008, 23:14   #6
komex
Пользователь
 
Регистрация: 16.12.2006
Сообщений: 82
По умолчанию

Ring0Sn, опередил! =))
komex вне форума Ответить с цитированием
Старый 03.08.2008, 14:35   #7
aesoem
Форумчанин
 
Регистрация: 24.12.2007
Сообщений: 288
По умолчанию

всем спасибо, но при выполнении любого из предоставленых кодов выскакивает ошибка (Скрин прилепил)
Изображения
Тип файла: jpg Безымянный.jpg (28.4 Кб, 147 просмотров)
aesoem вне форума Ответить с цитированием
Старый 03.08.2008, 15:13   #8
komex
Пользователь
 
Регистрация: 16.12.2006
Сообщений: 82
По умолчанию

Цитата:
Сообщение от aesoem Посмотреть сообщение
всем спасибо, но при выполнении любого из предоставленых кодов выскакивает ошибка (Скрин прилепил)
А ты добавлял эти колонки в ListView?
Код:
with listview1.Items.Add do begin   
  Caption:='1 столбец';     
  SubItems.Add('2 столбец');
  SubItems.Add('3 столбец');
  SubItems.Add('4 столбец');
...
end;
komex вне форума Ответить с цитированием
Старый 03.08.2008, 15:26   #9
aesoem
Форумчанин
 
Регистрация: 24.12.2007
Сообщений: 288
По умолчанию

да но только во время разработки...
aesoem вне форума Ответить с цитированием
Старый 03.08.2008, 15:58   #10
komex
Пользователь
 
Регистрация: 16.12.2006
Сообщений: 82
По умолчанию

Цитата:
Сообщение от aesoem Посмотреть сообщение
да но только во время разработки...
Судя по скрину ты обращаешься ко 2й строке (указан номер "1"). Сколько строк ты создал? Если всего одну, то и обращайся к первой строке:
Код:
ListView1.Items[0].SubItems.Strings[1] := 'текст в 3 колонке';
komex вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц