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

Вниз

Как изменить содержимое 2-й строки ListView без Clear?   Найти похожие ветки 

 
Семён   (2009-01-06 16:55) [0]

Заполняю так:
ListView1.Items[g].SubItems.Add("");
а как изменить? не очищая предварительно весь ListView ?


 
Семён   (2009-01-06 16:56) [1]

Извиняюсь, 2-го столбца!


 
Юрий Зотов ©   (2009-01-06 17:12) [2]

SubItems - это обычный TStrings:

ListView1.Items[g].SubItems.Strings[0] := "Привет, Семен!";
ListView1.Items[g].SubItems[2] := "Привет, Семен!";


 
Семён   (2009-01-06 19:20) [3]

> ListView1.Items[g].SubItems.Strings[0] := "Привет, Семен!";
> ListView1.Items[g].SubItems[2] := "Привет, Семен!";

в обоих случаях "out of bounds"! Попробовал и немного подкорректировать эти варианты, тоже ничего хорошего не вышло!


 
Семён   (2009-01-06 20:04) [4]

Вот так сработало:
ListView1.Items[2].SubItems.Strings[0] := "ххх";
но только после SubItems.Add!

а второй вариант:
ListView1.Items[g].SubItems[2] := "Привет, Семен!";
по любому "out of bounds"!


 
Сергей М. ©   (2009-01-06 20:26) [5]


> по любому "out of bounds"


Да ничего подобного.

ListView1.Items[2].SubItems.Add(..); //создали 1-й сабитем (его индекс 0)
ListView1.Items[2].SubItems.Add(..); //создали 2-й сабитем (его индекс 1)
ListView1.Items[2].SubItems.Add(..); //создали 3-й сабитем (его индекс 2)
ListView1.Items[g].SubItems[2] := "Привет, Семен! Это вид в профиль !";
ListView1.Items[g].SubItems.Strings[2] := "Те же фаберже, Семен, но вид в анфас !";

Удивись)


 
Сергей М. ©   (2009-01-06 20:27) [6]

g=2


 
Юрий Зотов ©   (2009-01-06 20:44) [7]

> Семён   (06.01.09 19:20) [3]
> Семён   (06.01.09 20:04) [4]

Конечно, без предварительного Add будет Out of bounds. Это же азбука TStrings.

Книжку бы Вам почитать, хотя бы по основным классам VCL. Или хотя бы справку.


 
Семён   (2009-01-06 20:52) [8]

> Юрий Зотов ©   (06.01.09 20:44) [7]
Я в основном использую "Программирование в Delphi7" Архангельского.
Создал в ListView две колонки, заполнил там-же в конструкторе первую. Дальше я рассуждал - вторая колонка создана => значит можно заполнять! И в книге ни слова по этому поводу!

Но, спасибо - за подсказку!


 
Юрий Зотов ©   (2009-01-06 21:00) [9]

> Семён   (06.01.09 20:52) [8]

> Создал в ListView две колонки

Вся строка - это ListItem.
Первая колонка - это Caption самого ListItem"а.
Вторая колонка - первый SubItem этого ListItem"а. Его индекс - ноль.

Других SubItem"ов Вы не создавали, поэтому как только пытаемся обратиться к несуществующему SubItem"у (с ненулевым индексом) - так тут же и получаем выход индекса за границу списка (list index out of bounds).


 
Германн ©   (2009-01-07 01:55) [10]


> Семён   (06.01.09 20:52) [8]
>
> > Юрий Зотов ©   (06.01.09 20:44) [7]
> Я в основном использую "Программирование в Delphi7" Архангельского.
>
>И в книге ни слова по этому поводу!
>

Вот уж это и неудивительно!


 
palva ©   (2009-01-07 11:12) [11]


> Я в основном использую "Программирование в Delphi7" Архангельского.

Хорошая книга. Заставляет много думать.



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

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

Наверх




Память: 0.49 MB
Время: 0.013 c
15-1229497529
nnov
2008-12-17 10:05
2009.02.15
icq 5.1


15-1229637458
Kostafey
2008-12-19 00:57
2009.02.15
Восстановление Windows


11-1197220362
Elec3C
2007-12-09 20:12
2009.02.15
Drag n Drop в ListBox


2-1231402706
FEV
2009-01-08 11:18
2009.02.15
Проблема


8-1189549248
adolis1
2007-09-12 02:20
2009.02.15
програма для начитки текста и его записи в файл