![]() |
|
|
![]()
|
|
| AndAnd |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 22.7.2006 Репутация: нет Всего: 1 |
Привет всем! У меня проблема с ListView. Взял исходник из примеров Builder (в папке Examples\VirtualListView\...). Мне необходимо внести свои данные - это например, список папок и файлов на ФТП-сервере, которые система не может видеть как она это видит в примере. Как можно отобразить этот список с посмощью данного примера. Спасибо.
|
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 24 Всего: 98 |
ты считаеш что эти примеры должны быть у всех здесь присутствующих? ;) -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 47 Всего: 59 |
OwnerData в true и используя событие OnData . Там же в примере все прекрасно расписано. Все данные предварительно сохранеы FIDList и по требования на OnData из FIDList заполняется конкретный TListItem
Добавлено @ 11:52
Должны. Хотя бы для того, что бы научиться с компонентами так, как это предполагили разработчики. К тому же он входят в поставку -------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
| AndAnd |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 22.7.2006 Репутация: нет Всего: 1 |
Не получается отобразить все, вот ниже часть кода где я пытаюсь это сделать:
|
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 24 Всего: 98 |
в чем смысл этой строки? где сам обработчик (его реализация)? зачем постить лишний код (while (InternetFindNextFile...)) -- чтобы запутать?.. -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 47 Всего: 59 |
А где код то обработчика, которые запускается на OnData ?
Вы в примере посмотрите
В нем весь смысл. Когда ListView нужно данные по выводимой строке, он(ListView, а не ВЫ) запускает обработчик события OnData. В этом обработчикеВы и должны заполнить параметр Item используя значения из FIDList и учитывая, то, что от Вас требуют строку под номером Item->Index -------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
| AndAnd |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 22.7.2006 Репутация: нет Всего: 1 |
Извините за тупость, не могу понять. Я правильно заполняю FIDList? (см. выше код). А как ListView поймет что данные в FIDList заполнены и я хочу их вывести?
Вот обработчик OnData
|
|||
|
||||
| Vyacheslav |
|
||||||||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 47 Всего: 59 |
Когда поймет. Ну Вы же ему сказали
И тогда он начнет процесс вывода и перед выводом каждой строки вызовет событие OnData для того, чтобы Вы заполнили данными Item. Для события, Вы определили обработчик ListView1Data, который и должен заполнить Item из FIDList1. А что его брать? Его брать не надо. Он и без Вас уже задан. ListView последовательно вызовет обработчик ListView1Data FIDList1->Count раз и при каждом вызове значение Item->Index будет увеличиваться на 1. Item->Index Вам дается как раз для того, что бы сообщить, содержимым какого элемента Вашего массива Вы должны заполнить Item. Короче говоря, допустим у меня есть весктор строк.
1. должен установить OwnerData в true 2. задать обработчик
3 Сообщить ListView, что информация готова к выводу
Последнее я должен сделать только тогда, когда вектор будет заполнен. Для того, что бы запретить показывать содержимое(например мне нужно обновить вектор
-------------------- С уважением, Вячеслав Ермолаев |
||||||||||||
|
|||||||||||||
| AndAnd |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 22.7.2006 Репутация: нет Всего: 1 |
Теперь вроде понятно
|
|||
|
||||
| AndAnd |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 22.7.2006 Репутация: нет Всего: 1 |
А интересно как лучше производить сортировку в ListView, подскажите лучший путь. У меня есть столбцы, довольно стандартные: Имя, Размер, Тип, ДатаПоследенего изменения. Есть ли функция ВИНАПИ? Метод пузырька не рассматривается.
|
|||
|
||||
| AndAnd |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 22.7.2006 Репутация: нет Всего: 1 |
как VirtualListview работает с файловой системой. Подскажите, пожалуйста, как можно создать функцию, на вход которой подается имя диска, а в ListView отобразиться его содержимое? Используя функции из VirtualListView.
|
|||
|
||||
| AndAnd |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 22.7.2006 Репутация: нет Всего: 1 |
Заглянул я в пример и нашел там функцию SetPath(const AnsiString path), которая как раз и позволяет перейти непосредственно по требуемому пути. Мораль басни: Чаще надо заглядывать в исходный пример, а не только своим пользоваться!!! |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |