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

Поиск сообщества

Показаны результаты для тегов 'ListView'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип контента


Форумы

  • Общие вопросы
    • Анимация
    • Графика
    • Стили
    • Базы данных и REST
    • Компоненты
    • Положение, размеры, выравнивание
    • Работа с текстом
    • Приложение и формы
    • Отладка
    • Развертывание приложений
    • Вопросы по языку Object Pascal и RTL
    • Общая информация о TControl
    • События
    • Прочие вопросы
  • Вопросы по платформам
    • Android
    • iOS
    • OSX
    • Windows
    • Windows Phone
    • Linux
  • Вопросы по использованию RAD Studio
    • Лицензирование
    • Сборка проектов
    • Multi-Device Designer
    • Редактор кода
    • Вопросы
  • Обучение
    • Основная информация
    • Вопросы
    • Отзывы
  • Поиск специалистов по FireMonkey
    • Консультации
    • Ищу подрядчика
  • Дополнительные ресурсы по FireMonkey
    • Сторонние компоненты
    • Приложения, написанные с использованием FireMonkey
    • Примеры
    • Руководства
    • Шаблоны
    • Статьи и заметки
    • Информация о версиях RAD Studio
    • Новости
  • Организация работы данного форума

Поиск результатов в...

Поиск контента, содержащего...


Дата создания

  • Начало

    Конец


Дата обновления

  • Начало

    Конец


Фильтр по количеству...

Регистрация

  • Начало

    Конец


Группа


AIM


MSN


Сайт


ICQ


Yahoo


Jabber


Skype


StackOverflow


Защита от ботов


Город


Интересы

  1. Всем привет! После долгого творческого запоя я запилил альфу либы, которая позволяет юзать обычный, не-генномодифицированный ListView. Данные подаются в виде модели данных, описание раскладки итема лежит в JSON. Для работы пишется примитивный наследник класса-адаптера, который биндит данные модели на элементы из JSON. Я решил, что руками делать это дешевле чем через RTTI { TMyAdapter } procedure TMyAdapter.SetupDrawableContent(const ADrawable: TListItemDrawable; const AData: TMyData); begin if SameText( ADrawable.Name, 'text') then begin (ADrawable as TListItemText).Text := AData.Text; end else if SameText( ADrawable.Name, 'detail') then begin (ADrawable as TListItemText).Text := AData.Detail; end else if SameText( ADrawable.Name, 'balance') then begin (ADrawable as TListItemText).Text := FormatFloat('0.00', AData.Balance); end else if SameText( ADrawable.Name, 'reserved') then begin (ADrawable as TListItemText).Text := FormatFloat('0.00', AData.Reserved); end end; Главная хитрость и отличие от стандартного DynamicAppearance+LiveBinding - переменная высота итемов ListView и использование арифметики в описании раскладки. Можно указать Detail.Y = Text.Bottom + 5, ItemHeight = Detail.Bottom + 10, Detail.W = ItemWidth/2 - X {"Kind":"rect","Name":"BonusRect","Value":"", "Place":{"X":"itemwidth*3/4","Y":"Text.Y","W":"ItemWidth/4-5","H":"50"}, "BorderColor":"#FF005500", "Color":"lime", "LineWidth":3}, {"TextHAlign":2,"TextVAlign":1,"Kind":"text","Name":"Balance","Value":"", "Place":{"X":"BonusRect.x+5","Y":"Text.Y","W":"BonusRect.w-10","H":"50"}, "WordWrap":true, "Color" :"Black", "Font":{"Size":18,"Style":""}} ], "ItemHeight":"detail.bottom+10", Это дает довольно гибкую систему. Не на все случаи жизни, но все, что нужно, можно после автоматической раскладки дополнительно приписать в OnUpdateObjects Код для работы примерно такой procedure TForm1.FormCreate(Sender: TObject); begin data:= TMyDataList.CreateFromFile(ExePath()+'data.json'); // загрузка в модель данных Adapter := TMyAdapter.Create(lvWallets, data.Items, ExePath()+'pattern.json'); // создание адаптера и загрузка шаблона Adapter.Pattern.SetupListView(lvWallets); // задать отступы и разную мелочь Adapter.ResetView(); // здесь в цикле из модели данных создается нужное количество итемов ListView end; procedure TForm1.lvWalletsUpdatingObjects(const Sender: TObject; const AItem: TListViewItem; var AHandled: Boolean); begin Adapter.SetupContent(AItem); // загрузить текст, картинки и другое содержимое в элементы итема Adapter.Pattern.DoLayout(AItem); // поправить раскладку в соответствии с содержимым элементов итема end; Для использования кроме стандартных - текст, картинка, кнопка - создано несколько дополнительных элементов итема - прямоугольник, круг, уголок, линия. Отличие от ModernLV - , 1) все происходит без правки системных файлов 2) пока нет колонок и других особых изысков. На результат работы смотреть тут. Исходники пока не причесаны, будут чуть позже UPD. ссылки на репозитории ниже
  2. Dmitry Stolyarov

    Выбор ImageIndex в ListView

    Добрый день, подскажите, пжл, новичку... Есть ListView и ImageList с двумя картинками. В ListView Item добавлен Image. ListView заполняю из БД и пытаюсь вывести картинку в зависимости от значения поля БД, но в независимости от значения БД выводится одна и та же картинка.. Такое нельзя провернуть? procedure TForm6.ListViewNAMEUpdateObjects(const Sender: TObject; const AItem: TListViewItem); var IItem:TListItemImage; begin IItem:= aItem.Objects.FindDrawable('Image4') as TListItemImage; if (IItem<>nil) then with FDQuery1 do begin First; while not Eof do begin if FDQuery1FK_PRICE.AsInteger = 1 then begin IItem.ImageIndex:=1 end else begin IItem.OwnsBitmap := True; IItem.ImageIndex:=0; end; Next; end; end; end;
  3. Добрый день. Как под FMX в ListView сделать подчеркивание Detail в рантайме? Пытался делать так: LV.ItemAppearanceObjects.ItemObjects.Detail.Font.Style := [TFontStyle.fsUnderline] но не срабатывает. P.S. Возможно это применить не ко всем строкам, а только к некоторым?
  4. Заполняю ListView в рантайме: LiveBindings не подходит, поэтому есть вопрос: а как задать фиксированный заголовок - чтобы в списке все Items, начинающиеся с буквы А были как бы объединены под одним заголовком А? Который в свою очередь смещался бы только заголовком Б (с Items, которые на букву Б) и так далее. Пример:
  5. Sati

    Видимость AccessoryObject

    Летом 2016 вопрос отображения объектов в ListView при создании Items уже обсуждался. Хочу ещё раз обсудить этот вопрос. А именно: Простой код ListViewItem := ListView.Items.Add; ListViewItem.Objects.AccessoryObject.Visible := false; (или true, не важно) вторая строка не работает если до выполнения, ListView ни одного раза не отображался. Если же отображался хотя бы один раз - всё нормально. В предыдущих обсуждениях Krapotkin рекомендовал Resize и OnUpdateObjects. Если нет идей проще, то, конечно, воспользуюсь.
  6. Если у элементов, идущих подряд одинаковый текст, то текст скрывается. Как это это отключить?
  7. x11

    ListView - DynamicAppearance - header

    Не понять, ни в справке найти, ни примеров, как получить текст из header. Как получить текст из какого-то элемента, есть пример: lvContacts.Items[li.Index].Objects.FindObjectT<TListItemText>('textTel').Text; а для заголовка ил подвала не нахожу примеров
  8. Всем привет! Встретился с одной проблемой. Удаляю Item у ListView по нажатию кнопки, которая находится на ListViewItem procedure TfmAppointment.lvSelectedServicesButtonClick(const Sender: TObject; const AItem: TListItem; const AObject: TListItemSimpleControl); begin lvSelectedServices.BeginUpdate; if lvSelectedServices.ItemCount > 0 then lvSelectedServices.Items.Delete(AItem.Index); lvSelectedServices.EndUpdate; end; итем удаляется, но потом выскакивает ошибка Access violation at address 60BCB318 и то се бо се у ListView ItemAppearance выставлен на DynamicAppearance помимо родного объекта Text добавил еще один объект Text и кнопку но фишка в чем, если убрать дополнительный объект Text с ListWiewItem и удалить итем то ошибка не выскакивает) что за прикол?
  9. Доброго дня, форумчане Возникла проблема с тем, чтобы поменять местами два итема в ListView. ListView.Items не имеет метода Exchange, сами итемы не имеют метода Assign чтобы можно было один итем клонировать в другой / удалить / вставить У кого какие мысли? Как реализовать? Delphi 10.2 Tokyo
  10. Не могу понять, как записать текст в Footer text
  11. Загружаю большой список в ListView, время загрузки где то 5-7 секунд. Это много, по этому переделал что бы список загружался динамически, как к концу пролистывается, подгружаются новые данные. Все бы хорошо, но вот ScrollBar при загрузке новых данных меняет размер и позицию. Это не очень нравиться Можно как то заранее настроить его размер под конечное число итемов? Или может как то по другому сделать.
  12. Rusland

    ListView в Берлине и в Токио

    Delphi Tokyo ListView->ItemAppearance->ItemAppearance=DynamicAppearance Есть ImageList c 3 картинками. Добавляю item-ы в ListView: procedure TForm1.Button1Click(Sender: TObject); var i:integer; Lvi: TListViewItem; begin LsvObjects.BeginUpdate; LsvObjects.Items.Clear; try for i:=0 to 100 do begin Lvi := LsvObjects.Items.Add; Lvi.Tag := i; Lvi.Data['ObjectText'] := 'ObjectText '+i.ToString; Lvi.Data['StateText'] := 'StateText '+i.ToString; Lvi.Data['ConnectText'] := 'ConnectText '+i.ToString; end; finally LsvObjects.EndUpdate; end; end; в UpdateObjects рандомно выбираю картинку: procedure TForm1.LsvObjectsUpdateObjects(const Sender: TObject; const AItem: TListViewItem); var ... oConnectImage: TListItemImage; r: integer; begin r:=Random(ImageList1.Count); oConnectImage:=aItem.Objects.FindDrawable('ConnectImage') as TListItemImage; if (oConnectImage<>nil) then oConnectImage.ImageIndex:=r; ... end; В Windows все нормально. А вот что я вижу на планшетах: На Dexp: На Lenovo: Картинки могут появиться, а могут и нет. Как исправить ситуацию? Вот сам проект. Про Berlin добавлю вопрос позже.
  13. x11

    ItemAppearance Button click

    Добавил TTextButtonObjectAppearance. А как выполнить click/tap? Предполагается, что будет 2-3 кнопки с разными процедурами. На форме лежит TActionList и нужно к кнопками привязать действия, но у кнопки нет Action. Даже событий нет Вопрос в догонку. А в
  14. Добрый день. Хочу принудительно останавливать прокрутку TListView, если его сильно "крутанули". Как это можно реализовать? Пробовал с помощью listview1.StopPropertyAnimation('listview1.ScrollViewPos'), но не работает.
  15. walexw

    listView программный клик

    Проект на Delphi, Seattle Добавляю в таблицу новую запись, в моем варианте она становится первой в запросе. Обновляю listView который ее отображает. Мне надо, чтобы после этого программно отработала процедура клика по этой новой записи. Пишу: listView.Selected.Index := 0; Далее саму процедуру, но не понимаю, что подставить в скобки: listViewItemClickEx(const Sender: TObject; ItemIndex: Integer; const [Ref] LocalClickPos: TPointF; const ItemObject: TListItemDrawable); Подскажите plz.
  16. Есть ли способ в FM узнать количество видимых Items у TListView?
  17. rakhmet

    Иконки в ListView

    Заполняю в рантайме ListView: procedure TAddForm.ConnectClick(Sender: TObject); var LI: TListViewItem; begin with Query do begin Open; while not Eof do begin LI := ListView1.Items.Add; LI.Text := Query.FieldByName('Type').AsString; LI.Detail := Query.FieldByName('Cargo').AsString + #13#10 + Query.FieldByName('Weight').AsString; Next; end; end; end; Как видно, Detail разбивается и заполняется в две строки (оказалось, что так удобнее смотреть). Но на обеих строках сухие цифры: Поэтому хотелось бы в начало обеих строчек вставить свои иконки, чтобы в конечном итоге выглядело как-то так: Есть идеи, как это можно сделать? А то товарищ kramler в другой теме писал, что не видит масла стоя перед открытым холодильником - так вот я сейчас уже в таком состоянии, что начинаю забывать, где мой собственный холодильник стоит, не говоря уже о масле в нём И смешно, и грустно...
  18. RubenKamp

    ListView получить текст Item

    Добрый день. Столкнулся с такой проблемой, есть приложение которое делает парсинг сайта и собирает нужные ссылки в ListBox а из ListBox-а потом ссылку открывает браузер, с ListBox-ом проблем не было (за исключением скорости работы) делал так: procedure TForm16.ListBox1Click(Sender: TObject); begin WebBrowser1.URL:=listbox1.Selected.Text; end; решил вместо ListBox использовать ListView собираю данные в ListView но не знаю как передать браузеру(
  19. Amigo86

    ListView TGlyphButtonObjectAppearance

    Всем привет, я новенький, осваиваюсь, начал совсем недавно изучать FMX. После многочисленного поиска так и не решил проблему. В ListView при DynamicAppearance создал TGlyphButtonObjectAppearance. Так вот, суть проблемы, не могу понять как загрузить в GlyphButton картинку О_О. with ListView.Items.Add do begin ImageIndex := 0; Data['ProductNameText']:='Имя продукта'; Data['ProductDescriptionText']:='Описание продукта't; Data['ProductPriceText']:=FloatToStr(PriceProduct)+' цена продукта.'; Data['ProductImage']:= I; //Изображение Картинки с ImageList
  20. Пришла беда от куда не ждали, поигравшись с listbox понял что для больших данных он как то лагает решил перейти на listview и о чудо быстродействие и всё такое, но вот когда я хочу очистить его с помощью ListView1.Items.Clear; то получаю данную ошибку,как то можно избежать данной проблемы или нужно переходить на более новую версию сейчас на 10 seatle работаю.
  21. randydom

    ListView Item.Height

    i'm trying to accomplish a kind of ListView Items hide mechanism by setting ListView.Item[x].Height:=0 , But that didn't give any result Adding Items : procedure TForm6.AddItemsClick(Sender: TObject); var I:Integer; AItem: TListViewItem; begin for I := 0 to 5 do Begin AItem := ListView1.Items.Add; //with AItem do // Text := 'Text'; End; end; Trying to hide Items : procedure TForm6.HideItemsClick(Sender: TObject); var I:Integer; begin ListView1.BeginUpdate; try for I := 0 to ListView1.ItemCount-1 do // ListView1.Items.Item[I].Height:=0; // doesn't give any result ListView1.Items.Item[I].Height:=1; finally ListView1.EndUpdate; end; end; The Result : Any help to fix this please ? or why ListView1.Items.Item.Height:=0; Has no effect ?
  22. Переработал и запустил один из проектов в Берлине. Все хорошо кроме странного бага - не работает перемотка. Оттягивается список и возвращается на место как приклеенный. Всю голову уже сломал, не понимаю как победить. Может кто знает как добиться такого эффекта? Так я пойму как его устранить ;-) Видео прикладываю: https://www.youtube.com/watch?v=R3ESp5RweEY
  23. dmdel

    Округлые края у ListView

    Как у ListView можно сделать закругленные углы. Через StyleBook почему то не получается
  24. jornada

    SearchBox в ListView

    При получении фокуса на SearchBox нижний край подсвечивается зеленым цветом. Откуда он берется, и как его можно изменить на нужный? Программно, через стили, любым способом. Никак не найти решение.
  25. Delphi xe7, SQLite под ANDROID Соединяю таблицу БД с компонентом ListView через Bind Visually, все нормально, показывает записи. Пытаюсь удалить запись с помощью стандартного удаления записи (с помощью DeleteButton). Запись из ListView удаляется. С этим проблем нет. Пытаюсь теперь удалить эту запись из базы данных. На событие OnDeleteItem пытаюсь поймать значение первичного ключа (ID) для этой таблицы, чтобы скриптом типа delete from dairy where id=:id удалить запись. На показ кнопки delete исчезает выделенная строка, т.е. ListView.Selected=nil. Значение первичного ключа ID не соответствует текущей записи в этот момент. Получается, scroll автоматом не срабатывает, выделенной записи нет. Как узнать ID записи, по которой нажали кнопку Delete, чтобы ее (запись) удалить из БД?
×
×
  • Создать...