Срочно: помощь в напис. контрола ExListView
От: Noxerist  
Дата: 26.10.07 16:37
Оценка:
Уважаемые, нужна помощь, в написании на C#/.NET (поиске, уже существующей компоненты, или совета счего начать) контрола ExListView.
Смысл такой:
1) список должен быть оч. быстрым;
2) список может иметь несколько колонок;
3) при добавлении новых строк, мог спускаться сверху вниз (стандартный), так и рости снизу вверх;
4) элементы в строки добавлялись не по индексу а по числу, которое может быть дробным, возможно от этого отказаться и наверное добавлять по строковому ключу. Если строка с таким индексом отсутствует, то соответственно создать ее, иначе получить его ListViewItem и изменять его свойства;
5) автоматическая прокрутка к "первому" элементу списка (в случае списка с ростом снизу вверх, прокрутка к нижнему элементу).

На данный момент пытаюсь использовать стандартный контрол, который нетолько не удоволетворяет требованиям и достаточно медленно выполняет поставленную задачу, но и периодически выдает глюки: при изменении свойст строки элемента (цвет, фон, шрифт), он периодически вырисовывает их как элемент по умолчанию. Вызов myListView.Invalidate() перерисовывает все правильно, но визуально одно мерцание, так как добавлять и удалять элементы приходится оч. часто.

Если никто не встечал подобного рода контрола, подскажите есть ли смысл брать в качестве родителя класс ListView, но похоже ничем не поможет и производительности не добьюсь.

Заранее спасибо!


27.10.07 00:52: Перенесено модератором из '.NET' — Хитрик Денис
Re: Срочно: помощь в напис. контрола ExListView
От: Аноним  
Дата: 29.10.07 08:00
Оценка:
Здравствуйте, Noxerist, Вы писали:

N>Уважаемые, нужна помощь, в написании на C#/.NET (поиске, уже существующей компоненты, или совета счего начать) контрола ExListView.

N>Смысл такой:
N>1) список должен быть оч. быстрым;
N>2) список может иметь несколько колонок;
N>3) при добавлении новых строк, мог спускаться сверху вниз (стандартный), так и рости снизу вверх;
N>4) элементы в строки добавлялись не по индексу а по числу, которое может быть дробным, возможно от этого отказаться и наверное добавлять по строковому ключу. Если строка с таким индексом отсутствует, то соответственно создать ее, иначе получить его ListViewItem и изменять его свойства;
N>5) автоматическая прокрутка к "первому" элементу списка (в случае списка с ростом снизу вверх, прокрутка к нижнему элементу).

N>На данный момент пытаюсь использовать стандартный контрол, который нетолько не удоволетворяет требованиям и достаточно медленно выполняет поставленную задачу, но и периодически выдает глюки: при изменении свойст строки элемента (цвет, фон, шрифт), он периодически вырисовывает их как элемент по умолчанию. Вызов myListView.Invalidate() перерисовывает все правильно, но визуально одно мерцание, так как добавлять и удалять элементы приходится оч. часто.


N>Если никто не встечал подобного рода контрола, подскажите есть ли смысл брать в качестве родителя класс ListView, но похоже ничем не поможет и производительности не добьюсь.


N>Заранее спасибо!


Доброго !
А использовать виртуальный ListView не поможет?
С уважением !
Re[2]: Срочно: помощь в напис. контрола ExListView
От: Noxerist  
Дата: 31.10.07 20:40
Оценка:
Здравствуйте, Аноним, Вы писали:


А>Доброго !

А>А использовать виртуальный ListView не поможет?
А>С уважением !


Чесно говоря непонял что за виртуальный ListView? это стандартная компанента как?
Re[3]: Срочно: помощь в напис. контрола ExListView
От: Brick_1 Украина  
Дата: 01.11.07 13:25
Оценка:
Здравствуйте, Noxerist, Вы писали:

N>Здравствуйте, Аноним, Вы писали:



А>>Доброго !

А>>А использовать виртуальный ListView не поможет?
А>>С уважением !


N>Чесно говоря непонял что за виртуальный ListView? это стандартная компанента как?

Доброго !
Это свойство стандартного ListView (ListView.VirtualMode=true
Данные можно отображать например из DataTable,DataView.. где Вы сами делаете с данными любые действия.
Надо будет использовать RetrieveVirtualItem для отображения данных
С уважением!
Re[4]: Срочно: помощь в напис. контрола ExListView
От: Noxerist  
Дата: 02.11.07 16:57
Оценка:
N>>Чесно говоря непонял что за виртуальный ListView? это стандартная компанента как?
B_>Доброго !
B_>Это свойство стандартного ListView (ListView.VirtualMode=true
B_>Данные можно отображать например из DataTable,DataView.. где Вы сами делаете с данными любые действия.
B_>Надо будет использовать RetrieveVirtualItem для отображения данных
B_>С уважением!


Гляну что там такого интересного, но дело в том, что
1) думаю, что проблемы с перерисовкой не исчезнут
2) неуверен, в том, что смогу выводить новые строки таблицы листвью с низу вверх (контрол имеет прямоугольную форму, и при добавлении нового итема, он прорисовываться должен не в верхних Top координатах контрола, а снизу — с LisstViewControl.bottom координаты)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.