Вниз
Скачать: CL | DM;

Индекс строки ListView   Найти похожие ветки 

← →
Ivanov Ivan ©   (2008-09-17 08:26) [0]

Добрый день! У меня имеется ListView(4 столбца и около 100 строк), который заполняется при запуске программы(каждый раз по-разному). Подскажите, plz, можно ли проиндексировать его строки? Т.е. i-тый индекс должен содержать в себе информацию о i-той строке. Индексирование должно происходить при заполнении ListView.


← →
brother ©   (2008-09-17 08:33) [1]

> Т.е. i-тый индекс должен содержать в себе информацию о i-
> той строке.

индекс чего? в чем индексы то хранить хош?


← →
Ivanov Ivan ©   (2008-09-17 08:53) [2]

прошу прощения, не правильно задал вопрос. Нужно просто знать номер строки ListView, не зависимо от информации, которая в ней содержится


← →
MBo ©   (2008-09-17 08:56) [3]

пока ничего не понятно.
TListView.Items не спасает?


← →
Smile   (2008-09-17 09:02) [4]

> Нужно просто знать номер строки ListView

Какой строки? Выделенной (Selected), чекнутой (Checked) или над которой находится мышь?


← →
Ivanov Ivan ©   (2008-09-17 09:18) [5]

Всех строк. Это надо для внесения изменений в i-тую строку.
Т.е. если во время работы с ListView в  базе произошли изменения для данных i-той строки, то мне необходимо внести эти изменения в эту строку. Вот для этого и нужно знать индекс строки.
Кроме того не подскажите функцию для изменения данных в Listview.


← →
MBo ©   (2008-09-17 09:21) [6]

еще раз - TListView.Items[i]


← →
Smile   (2008-09-17 09:31) [7]

А как
> Т.е. если во время работы с ListView в  базе произошли изменения
> для данных i-той строки, то мне необходимо внести эти изменения
> в эту строку.


А каким образом ты узнаешь об изменениях в базе?
Думается, что когда ты об этом узнаешь, то тебе необходимо вновь сформировать ListView, а не исправлять какую-то ни было строчку (а если количество строк изменится?)

> который заполняется при запуске программы(каждый раз по-
> разному).


← →
Ivanov Ivan ©   (2008-09-17 09:35) [8]


> А каким образом ты узнаешь об изменениях в базе?


При открытии формы заполняется ListView данными из БД.Данные получаем в результате запроса, потом эти данные заносим в массив, а уже данными из массива заполняем ListView.
На форме также есть Timer который через определенные промежутки времени делает запрос к базе, заново заполняются массивы. А вот теперь нужно сравнить данные из массивов с данными в ListView.Я для этого и хотел ирспользовать индекс.


← →
Smile   (2008-09-17 09:40) [9]

А мне представляется, что правильнее по таймеру не сравнивать массив с содержимым ListView, а формировать новый. И кроме того откуда взялась необходимость в каком-то массиве? Формируй ListView из запроса.


← →
Ivanov Ivan ©   (2008-09-17 09:49) [10]

Формировать новый-не катит, т.к. ListView "дергается"-сначала исчезают все данные, потом скролл начинает бешено бегать, потом появляются новые данные. При том если изменения не происходили, то зачем обновлять. Кроме того массивы нужны еще для одной цели.


← →
Dennis I. Komarov ©   (2008-09-17 09:59) [11]

1. Компонент TListView предназначен для отображения данных, а не для хранения. Меняй логику.

2. Выкини таймер, поставь кнопку обновить


← →
Ivanov Ivan ©   (2008-09-17 10:09) [12]

А данные у меня в нем и не хранятся. ListView заполняется данными при открытии формы. Просто нужно пока форма открыта и если происходят изменения в базе касательно данных из листвью, надо эти изменеия вносить. Кстати кнопку пробовал, listView тоже ""дергается""


← →
Dennis I. Komarov ©   (2008-09-17 10:23) [13]


> Просто нужно пока форма открыта и если происходят изменения
> в базе касательно данных из листвью

это не данные, и с ними не надо ничего делать, просто когда это надо юзеру сделать навый запрос и отобразить результат заного

> Кстати кнопку пробовал, listView тоже ""дергается""

Он не дергается, а перерисовывается при кождом изменении - "спрячь" его на время обновления и все...



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

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.009 c
15-1220290532
Простой
2008-09-01 21:35
2008.10.26
ИК датчик движения, контакт GND


2-1221789821
koha!
2008-09-19 06:03
2008.10.26
Сохранить TFont в INI - файл как Data


15-1220256734
Альф
2008-09-01 12:12
2008.10.26
Как работает оптимизатор размера проектов в Delphi ?


15-1220249423
oldman
2008-09-01 10:10
2008.10.26
Поздравляю с Днем знаний!


11-1194616932
tigra
2007-11-09 17:02
2008.10.26
таблицы...




   Наверх