Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите с динамическим созданием строк [WinXP]


v1kee ©   (2009-06-02 20:32:00) 

Здравствуйте Эксперты! Столкнулся с такой проблемой:
У меня на форме ListView, в нем 2 колонки (Columns) и 2 группы (Groups), свойство GroupView = True
При добовлении в ListView строк на этапе разработки если распределять "итемы" по группам то все отлично отображается, но
если добовлять строки динамически по ходу выполнения

With ListView1.Items.Add do
  begin
  caption:='';
  SubItems.Add('Пункт');
  end;

то строки вообще не отображаются. Я так понимаю что их необходимо там же при добовлении прописывать в какую группу определить? И вот в этом собственно и я хочу спросить совета - как так прописать? я уже пробовал listview.Groups.Insert(i).Index:=i;
ничего не отображается. А если убрать отображение групп: GroupView = false то все отображается... Как вот добавлять динамически создаваемые итемы в группы?
Заранее спасибо.


brother   (2009-06-04 05:46:00) [1]

> > listview1.Items[i]. GroupID:=0;
>
>
> Что-то ты лишнего напокакурил) .. или не то курил)

вообще, логично - все итемы в одной группе)


Сергей М.   (2009-06-02 22:45:00) [2]


> listview1.Items[i].GroupID:=0;


Что-то ты лишнего напокакурил) .. или не то курил)


v1kee   (2009-06-02 21:47:00) [3]

Все я разобрался :), пока курил пришло в голову следующее:
при динамическом добовлении итемов вставить строчку listview1.Items[index].GroupID:=0;

   for i := 0 to 10 do
       with listview1.Items.Add do
          begin
          caption:='';
          SubItems.Add('Пункт');
          listview1.Items[i].GroupID:=0;
          end;

вот теперь все по местам. Всем спасибо :), тему можно закрывать.


v1kee   (2009-06-02 21:41:00) [4]

Ой простите, у меня уже просто голова не варит с этим дипломным...


Сергей М.   (2009-06-02 21:32:00) [5]


> Времени на реализацию "стредствами самого ListView" нет


Я сказал средствами TreeView, а не ListView)

Вот как раз он и избавляет от необходимости изобретения велосипеда, когда речь идет о простейшей древовидной структуре, как это видно из картинки


v1kee   (2009-06-02 21:17:00) [6]


> > http://s51.radikal.ru/i132/0906/e5/8cd10178fcb1.jpgТо
> что здесь нарисовано с успехом делается средствами TTreeView.
>

Дык я так понимаю зачем изобретать велосипед?) Когда то что там нарисовано осуществляется в режиме разработки нажатием на пару кнопок и переключением нескольких свойств? Да видите просто это у меня дипломная, время то поджимает... сейчас уже защита скоро. Времени на реализацию "стредствами самого ListView" нет :( . В крайнем случае оставлю просто безовсяких групп и "прибабахов" простой список.


Сергей М.   (2009-06-02 21:03:00) [7]


> http://s51.radikal.ru/i132/0906/e5/8cd10178fcb1.jpg


То что здесь нарисовано с успехом делается средствами TTreeView.


v1kee   (2009-06-02 21:00:00) [8]

Он и смотрится отлично с группами вот поэтому и хотелось бы динамически реализовать это все
http://s51.radikal.ru/i132/0906/e5/8cd10178fcb1.jpg
Извеняюсь за неточную информацию, у меня Delphi 2009 может в других Delphi такого свойства у ListView нет...


Сергей М.   (2009-06-02 21:00:00) [9]

А вот у меня в моем TListView и в моей версии Делфи нет свойств, где фигурируют эти самые "группы".

Мне повеситься ?)


v1kee   (2009-06-02 20:55:00) [10]

Ну как где.. в инспекторе обьектов, вот гляньте
http://i007.radikal.ru/0906/71/93704346c581.jpg


Сергей М.   (2009-06-02 20:51:00) [11]


> 2 группы (Groups), свойство GroupView = True


Где ты в стандартном TListView узрел какие-то "группы" - ума не приложу ..


Наверх

Титульная страница Поиск, карта сайта Написать письмо