Перейти к содержанию
Fire Monkey от А до Я
  • 0

[TListView] высота итема=0


Anatoliy

Вопрос

Здравствуйте.

Есть меню:
- сыры
- вина
- паста
- все вместе

У ListView в DynamicAppearance добавлен текстовый элемент "категория".
Пользователь щелкнул, к примеру, по вина и в ListView осталась только итемы с именем  категории вина...
Самым простым способом, мне казалось, у всех итемов которые не вина установить высоту в 0.
Однако это не работает. Итемы не устанавливаются в значение 0. Если увеличивать высоту итемов программно, то это работает.
Можно ли у ListView высоту итема установить в 0?
Логика программы такая - выбрали вина, перешли на сыры выбрали сыры... После этого анализ того что выбрал пользователь проходит
по анализу картинки в итеме на которой нарисована галочка. Если картинка Visible=true/false.

Если у итема высота =0, то то картинки с галочкой не видно, но ее значение Visible не должно меняться... Поэтому думал так организовать.

Подскажите, как правильно, если у итема нельзя поставить высоту в 0.

 

 

Изменено пользователем Anatoliy
Ссылка на комментарий

Рекомендуемые сообщения

  • 0

Сделайте структуру вне ListView, с ней работайте, ListView заполняйте по структуре, как надо.

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

Ссылка на комментарий
  • 0

Да, видимо придется городить огород... Мне надо хранить в структуре: название, сколько штук, цену, сделан выбор или нет. Обвел красным для итема на картинке. Мониторить этот контейнер - сделан выбор-нет... Эх если бы итем можно было просто скрыть, то две строчки кода, а так огород... :(

P.S.

Думаю для такой структуры выбрать С++ STL контейнер map:

std::map<String, std::vector<int> > IniContent; Первое значение ключ - название продукта, второй параметр массив того, что к привязано к этому названию (цена, кол-во...) + map автоматом все сортирует по названию. Да удобный контейнер, но гемороя много, все было бы проще если бы итем удалось спрятать в TListView... :)

 

 

sp.jpg

Изменено пользователем Anatoliy
Ссылка на комментарий
  • 0

Все основано на простом текстовом файле настроек и заранее подготовленных картинах. Не нужен не сервер не бд. И все успешно работало бы без лишних усилий если бы ListView мог бы иметь высоту итема =0.

Ссылка на комментарий
  • 0
  • Модераторы

LV может скрывать айтемы :rolleyes:

поищите на форуме про фильтр в LV

но я бы воспользовался советом @wamaco (у меня кстати так в нескольких проетах и сделано, через TDictionary)

Ссылка на комментарий
  • 0

Спасибо. Короче ударил по воробьям из пушки и применил STL С++ контейнеры map и vector. Структура контейнера:

std::map<String, std::vector<String> > HowManyAndCheck;

В нем храню и все работает - никаких баз данных не нужно. А вот если бы FMX ListView умел бы делать высоту итема в 0, то и программировать не надо было бы. :)

 

 

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...