Главная страница
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-1229637458
Kostafey
2008-12-19 00:57
2009.02.15
Восстановление Windows


2-1230553408
charoey_mag
2008-12-29 15:23
2009.02.15
Русские буквы в английской винде


1-1207732858
tetris
2008-04-09 13:20
2009.02.15
Таймер "ловит" не все клики мыши


8-1187889577
solo.maestro
2007-08-23 21:19
2009.02.15
Замена звуковой дорожки в видеофайле


2-1231224543
Igor'
2009-01-06 09:49
2009.02.15
Как узнать название поля DBGridEh -где изменилось значение?