Вниз
Скачать: 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.012 c
15-1220251028
Slider007
2008-09-01 10:37
2008.10.26
С днем рождения ! 1 сентября 2008 понедельник


2-1221561139
Zalumhan
2008-09-16 14:32
2008.10.26
Повторяющиеся элементы в массиве


2-1221813260
Цукор5
2008-09-19 12:34
2008.10.26
фон TProgressBar


1-1201004255
Bocman
2008-01-22 15:17
2008.10.26
IntraWeb и ISAPI


2-1221643925
Андрей_1
2008-09-17 13:32
2008.10.26
Нажатие Bitbtn с клавиатуры




   Наверх