Модераторы: Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Delphi] Выделения в ListView, Как 
:(
    Опции темы
ZBugz
Дата 13.3.2006, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 636
Регистрация: 15.2.2006
Где: Москва

Репутация: нет
Всего: 6



Привет всем.

Имею ListView в режиме vsReport и 5 колонок. Добавляю в него строчку.

У меня три вопроса:

1. Как выделить первую строку при загрузке программы. smile
2. Если список пустой, то ничего не выделять smile smile
3. Как после добовления 2 и т.д. строки выделение вставало на добавленный элемент smile

Помогите, а то я что то совсем запутался.

Кстати, может кто знает компонент получше и поудобнее smile
PM MAIL   Вверх
Yanis
Дата 13.3.2006, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 4
Всего: 111



Код

  if ListView1.Items.Count > 0 then
    ListView1.ItemIndex := 0;

Домашнее задание: решение п. 3 Справишся?


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
ZBugz
Дата 13.3.2006, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 636
Регистрация: 15.2.2006
Где: Москва

Репутация: нет
Всего: 6



Не работает, точнее так:

Это
Код

if ListView1.Items.Count > 0 then
    ListView1.ItemIndex := 0;

если я гружу список при загрузке программы из файла, то пашет. А если я добавляю в пустой список, то нет.
А с 3-м пунктом я не справлюсь smile

Это сообщение отредактировал(а) ZBugz - 13.3.2006, 13:45
PM MAIL   Вверх
Yanis
Дата 13.3.2006, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 4
Всего: 111



Всё зависит от того где ты этот код разместишь и перед каким комдом smile Что конкретно не получается покажи.
3. Свойство ItemIndex позволяет нам прочитать или записать текущий элемент. Свойство Items.Count позволяет прочитать кол-во Item'ов. Наверное логично будет, записать так:
Код

ListView1.ItemIndex := ListView1.Items.Count-1;
в этом случае будет выделяться элемент номер Items.Count-1. А не он ли является последним в списке?

P. S. Думать отказываемся?


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
tigger
Дата 13.3.2006, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 456
Регистрация: 30.4.2005

Репутация: нет
Всего: 4



И как ты строки добавляешь если через кнопки то не забудь фокус передать ListView.

smile



Это сообщение отредактировал(а) tigger - 13.3.2006, 14:16


--------------------
user posted image
PM MAIL   Вверх
ZBugz
Дата 13.3.2006, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 636
Регистрация: 15.2.2006
Где: Москва

Репутация: нет
Всего: 6



Блин, все. запутали.

Но добовляется еще два вопроса:

1. Если список пустой и я начинаю добовлять строки, мне надо чтоб выделялась та, которую я добавил. Короче как в Reget.
2. Как после добовления 2 и т.д. строки выделение вставало на добавленный элемент

Код

  if ListView1.Items.Count > 0 then
    ListView1.ItemIndex := 0;


Работает когда я гружу список. Толькот надо дописать
Код

ActiveControl:= ListView1;

Так что вопрос № 1 решен. Вопрос №2 отпадает.

smile
PM MAIL   Вверх
Yanis
Дата 13.3.2006, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 4
Всего: 111



Это ты всех запутал! Может быть тебе нужно это?
Код

  if ListView1.Items.Count > 0 then
    ListView1.ItemIndex := ListView1.Items.Count-1;

P. S. Советую почитать ЭТО


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
ZBugz
Дата 13.3.2006, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 636
Регистрация: 15.2.2006
Где: Москва

Репутация: нет
Всего: 6



Ето вообще не рабртает как надо smile
PM MAIL   Вверх
Yanis
Дата 13.3.2006, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 4
Всего: 111



Ошибка, вероятно в 17 строке.


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
ZBugz
Дата 13.3.2006, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 636
Регистрация: 15.2.2006
Где: Москва

Репутация: нет
Всего: 6



Хватит прикалываться smile
Лучшеб помог smile
PM MAIL   Вверх
Yanis
Дата 13.3.2006, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 4
Всего: 111



Цитата(ZBugz @ 13.3.2006, 16:47 Найти цитируемый пост)
Хватит прикалываться 
Лучшеб помог 

Приведи код, который не работает или работает неправильно и тебе помогут. Непонятно, что у тебя не получается.


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
ZBugz
Дата 13.3.2006, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 636
Регистрация: 15.2.2006
Где: Москва

Репутация: нет
Всего: 6



Код не могу привести, он очень большой.

Хочу как в Reget или Download Master - чтоп при добавлении строки она выделялась. Именно так.
Чего тут непонятного smile

PM MAIL   Вверх
Yanis
Дата 13.3.2006, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 4
Всего: 111



Не знаю какой код использует Download Master или Reget, но алгоритм скорее всего такой: после добавления новой строки, выделить последнюю сроку. Ещё раз напишу как это делается:
Код

  { ... }
  { код добавления Item }
  { ... }
  { если кол-во Item больше 0, то выделяем последний }
  if ListView1.Items.Count > 0 then
    ListView1.ItemIndex := ListView1.Items.Count-1;
  { ... }
Не иначе.

Цитата(ZBugz @ 13.3.2006, 17:17 Найти цитируемый пост)
Чего тут непонятного

Всё понятно - ты ленишся.



--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
tigger
Дата 13.3.2006, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 456
Регистрация: 30.4.2005

Репутация: нет
Всего: 4



ZBugz, Непонятно то, что уже описано то что может тебе помочь, а у тебя все равно не работает.

Зипуй проект и выкладывай!!!



--------------------
user posted image
PM MAIL   Вверх
ZBugz
Дата 13.3.2006, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 636
Регистрация: 15.2.2006
Где: Москва

Репутация: нет
Всего: 6



Завтра проверю и отпишусь. А про Reget я имел ввиду, мне нужен такойже эффект
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0593 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.