Перейти к содержанию
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 по нескольким критериям. К примеру нужно искать по Item.Text, Item.Detail и Item.Date['Category']. Пошел путем, ранее подсказанным на этом форуме - правкой "function TListViewItems.ApplyFilter: Boolean" в FMX.ListView.pas. Передавать строку поиска хотел в строке типа "Text=Пеньки&Detail=по три рубля&Category=Осиновые", но быстро понял что код превращается в одноразовую кашу, а хотелось сделать красиво и на будущее. Сделал так - добавил еще один тип "TFilterPredicateEx = TPredicate<TListViewItem>;", к существующему "TFilterPredicate = TPredicate<string>;" в TListViewItems. Ну и далее по списку добавил аналоги к переменным, функциям и property. Смысл в том чтобы вместо обычного бутылочного горлышка в фильтации: ListView.Items.Filter:= function(X: string): Boolean begin Result := AFilterText.IsEmpty or X.ToLower.Contains(AFilterText.ToLower); end; иметь мощный инструмент с доступом ко всем плюшкам TListViewItem. Теперь это выглядит вот так: type TListViewFilterEx = record Category : String; Name : String; end; ... Var AFilter : TListViewFilterEx; // это для удобства хранения фильтров в одном месте ... AFilter.Category:='Береза'; AFilter.Name:='Пеньки'; AListView.Items.FilterEx:= function(X: TListViewItem): Boolean begin Result:= (AFilter.Category.IsEmpty or X.Data['Category'].AsString.ToLower.Contains(AFilter.Category.ToLower)) And ((AFilter.Name.IsEmpty or X.Text.ToLower.Contains(AFilter.Name.ToLower)) or (AFilter.Name.IsEmpty or X.Detail.ToLower.Contains(AFilter.Name.ToLower))); end; Подозреваю что все это можно было сделать с помощью хелперов, но до их освоения руки никак не дойдут. Если кто то сделает хелпер, дабы не править FMX.ListView.pas, буду очень благодарен. Внимание! FMX.ListView.pas от Delphi XE8, к другим версиям думаю не подойдет. Прилагаю дополненный FMX.ListView.pas к сообщению. FMX.ListViewWithFilterEx.zip
  2. Переработал и запустил один из проектов в Берлине. Все хорошо кроме странного бага - не работает перемотка. Оттягивается список и возвращается на место как приклеенный. Всю голову уже сломал, не понимаю как победить. Может кто знает как добиться такого эффекта? Так я пойму как его устранить ;-) Видео прикладываю: https://www.youtube.com/watch?v=R3ESp5RweEY
  3. dmdel

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

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

    SearchBox в ListView

    При получении фокуса на SearchBox нижний край подсвечивается зеленым цветом. Откуда он берется, и как его можно изменить на нужный? Программно, через стили, любым способом. Никак не найти решение.
  5. Привет Всем! Много тем на форуме про раскраску TListView, нашел в интернете решение и доработал его Вот что получилось LV_Helper.zip ColorListView.zip Доступно для Seattle ListView1.SetColorItemSelected(TAlphaColorRec.Orangered); //выделенный ListView1.SetColorItemFill(TAlphaColorRec.Gray); // обычный цвет Item ListView1.SetColorItemFillAlt(TAlphaColorRec.Lightgrey); // альтернативный цвет Item ListView1.SetColorBackground(TAlphaColorRec.Black); // цвет самого TListView ListView1.SetColorItemSeparator(TAlphaColorRec.Lightgray); // Линия разделения Item'ов ListView1.SetColorText(TAlphaColorRec.Red); // Обычный текст ListView1.SetColorTextSelected(TAlphaColorRec.White); // выделенный текст ListView1.SetColorTextDetail(TAlphaColorRec.Yellow); // текст доп. инфы ListView1.SetColorTextHeader(TAlphaColorRec.Green); // текст заголовка ListView1.SetColorTextHeaderShadow(TAlphaColorRec.Lightgray); // тень текста ListView1.SetColorButtonText(TAlphaColorRec.Orange); // цвет текста кнопки ListView1.SetColorButtonTextPressed(TAlphaColorRec.Orangered); // цвет нажатой кнопки добавлено в Berlin ListView1.SetColorPullRefresh(TAlphaColorRec.Orange); ListView1.SetColorPullRefreshIndicator(TAlphaColorRec.Orangered); ListView1.SetColorStretchGlow(TAlphaColorRec.Lime); ModernListView.rar
  6. Как получить доступ к отфильтрованным элементам ListView. Ситуация такая - ListView частично сформирован и показан пользователю, он может начать поиск через SearchBox, но потоки должны продолжать заполнение некоторых данных, не критичных для работы. Но дело в том, что получить доступ по индексу, к отфильтрованному итему нельзя, а нужно. Что делать? Может есть другой путь получить нужный ListViewItem?
  7. DimArt

    Не отображается TListItemImage

    Всем привет! Добавляю в listViewItem дополнительный TListItemImage,а он ни в какую не отображается. Точнее картинка появляется на долю секунды и тут же пропадает. Картинки подгружаю с нета, для этого использую хелпер от ZuBy. Подскажите, в чём я накосячил. Файл проекта для Seattle приложил. TwoImages.zip
  8. Привет Всем! Как принято в современных приложениях, догружать контент(обычно это картинки) при скролинге. я взял картинки пользователей этого форума Seattle LVdynamicLoadBitmap.zip Berlin LVdynamicLoadBitmap(Berlin).zip
  9. Rusland

    Цвет выделенного Item-а

    Раскрашиваю ListView в черный цвет, цвет текста серый. Делаю это с помощью изменений от Zuby в FMX.ListView.pas в процедуре DrawItemsFill // отрисовываем кастомный цвет........................................... // procedure TListViewBase.DrawItemsFill(const StartItem................. if TListViewItem(ListItem).Data['aUseCustomColor'].AsBoolean then FBrush.Color := TListViewItem(ListItem).Data['aCustomColor'].AsInteger; // ...................................................................... При выделении Item его цвет становится светло-серым. Как изменить цвет выделяемого itema на черный? Могу изменить цвет текстовых элементов в выделенном item так: procedure TFrmMain.LsvItemClick(const Sender: TObject; const AItem: TListViewItem); var i: integer; begin TListItemText(AItem.Objects.FindDrawable('TxtNum')).SelectedTextColor:=$FF1E1E1E; // серый TListItemText(AItem.Objects.FindDrawable('TxtAdr')).SelectedTextColor:=$FF1E1E1E; // серый end; А как изменить backround выделенного элемента так и не разберусь Если это делается стилем, то покажите пожалуйста пример.
  10. Доброе утро. Могу ли я как-то изменить цвет текста у ListView Item (Только у одного), у остальных такой, который указан в дизайнере.
  11. ivadimos

    Scroll

    Хочу написать итем пикер на основе скроллбокса(листобокса, тут не суть важна), выглядеть он должен так, обычный скролл, но в области видимости только 5 элементов. 3й элемент(цетральный) как бы выделен(на его уровне вне листбокса лежит прямоугольник, который его типа подсвечивает). В чём проблема. всё работает красиво, но хотелось бы, что бы при окончании скроллинга происходило приближение к элементу, чья позиция ближе всего к позиции, которую подсвечивает прямоугольник.
  12. Доброго времени суток такая проблема в берлине со списком ListView есть основное текстовое поле на скрине указано стрелкой мне нужно сделать отступ с правой стороны в редакторе нет свойств pending и margin при смене размера нужно пересчитывать новую ширину
  13. Вот я указал ItemAppearance = DynamicAppearance Добавил 3 текста и один Image (имя Image2). Тексты присваиваю так: Item :=LsvAlarms.Items.Add; Item.Data['Text1']:='Текст1'; Item.Data['Text4']:='Текст4'; Item.Data['Text3']:='Текст3'; Как в рантайме добавить картинку в Image2? Изначально у меня к ListView был прикреплен ImageList и я просто указывал Item.ImageIndex:=0 - а как поступать теперь? Куда присваивать bitmap?
  14. Rusland

    Смена Image в ListView

    В проекте 2 Image, 2 Button, 1 ListView. Вид ListView: Пытаюсь менять картинку в Item. Делаю это следующим образом: for k := 0 to LsvAl.ItemCount-1 do begin if (k mod 2)=0 then begin TListItemImage(LsvAl.Items[k].Objects.FindDrawable('Imp1')).Bitmap.Assign(Image2.Bitmap); // <- иногда зависает на Android TListItemText(LsvAl.Items[k].Objects.FindDrawable('TxtNum')).TextColor:=$FFFF2346; end else begin TListItemImage(LsvAl.Items[k].Objects.FindDrawable('Imp1')).Bitmap.Assign(Image1.Bitmap); TListItemText(LsvAl.Items[k].Objects.FindDrawable('TxtNum')).TextColor:=$FF009DFE; end end; Во-первых, часто, но не всегда, на Андройде ловлю Segmentation fault (при обращении к памяти). Во-вторых, раскрашивается всё, вплоть до самого Image1 из которого я беру картинку (отчего я вообще в шоке ). Как делать правильно? До: После: PS. Прикладываю готовый проект LsvAl.zip
  15. произошло событие pullRefresh. но в какую сторону? для уменьшения трафика у меня в API введена паджинация, поэтому мне нужно определить, предыдущую или следующую страницу нужно вытягивать из базы ?
  16. Rusland

    Редактор ListView

    Можно ли в RadStudio 10.1 Berlin через редактор ListView добавлять дополнительные объекты? Например, мне нужно добавить дополнительную картинку. Можно ли это сделать?
  17. dmitry

    Работа с ListView

    Добрый день. Использую Delphi DX 10 Update 1. Есть маленькая задача по использованию компонента ListView. Необходимо, если в Item содержится текст = 'Signal', то цвет у шрифта установить в красный, иначе в черный. Написал следующий код вставки данных в ListView: procedure TForm3.Button1Click(Sender: TObject); Var Item: TListViewItem; TextObject: TListItemText; begin Item := ListView1.Items.Add; Item.Text := '...'; TextObject := TListItemText.Create(Item); TextObject.Text := 'Signal'; TextObject.Height := 30; TextObject.PlaceOffset.Point := TPointF.Create(1, 0); TextObject.Name := 'STATUS'; TextObject.Font.Size := 20; Item := ListView1.Items.Add; Item.Text := '...'; TextObject := TListItemText.Create(Item); TextObject.Text := 'Normal'; TextObject.Height := 30; TextObject.PlaceOffset.Point := TPointF.Create(1, 0); TextObject.Name := 'STATUS'; TextObject.Font.Size := 20; end; В событии UpdateObjects компонента написал: procedure TForm3.ListView1UpdateObjects(const Sender: TObject; const AItem: TListViewItem); Var TextObject: TListItemText; begin TextObject := AItem.Objects.FindDrawable('STATUS') As TListItemText; If TextObject <> Nil Then Begin If TextObject.Text = 'Signal' Then TextObject.TextColor := TAlphaColorRec.Red Else TextObject.TextColor := TAlphaColorRec.Black; End; end; В итоге Item, где есть Signal не устанавливается цвет текста в красный и более того TextObject = Nil. Помогите разобраться с проблемой. Тестовый проект прилагаю LVBag.rar
  18. daemon.init

    ListViewItem Transpatent, как?

    XE7 У самого ListView есть свойство Transpatent у Item'ов не нашёл. Думал чз ListView.Items.Item[0].Objects.TextObject.Opacity но видно не то что нужно. Это да для текста. Потом открыл FMX.ListView в нём есть процедура procedure TCustomListView.DrawItemsFill ... в ней при отрисовке на Canvas заменил цвет FBrush.Color на цвет плюс альфа канал например $30FFFFFF работает или цвет или альфа в чёрный цвет, прозрачности нет. Если есть у компонента прозрачность, то как у итемов включить?
  19. Если обращаться к активному элементу в ListView по LongTap, то можно нарваться на Access Violation. Как этого добиться: Должен быть включен CanSwipeDelete. Делаем свайп, появляется кнопка Удалить. Теперь в любом месте делаем долгий тап на любом элементе и ловим AV. //на форме SpeedButton и ListView procedure TForm1.ListView1Gesture(Sender: TObject; const [Ref] EventInfo: TGestureEventInfo; var Handled: Boolean); begin if (EventInfo.GestureID=igiLongTap)or(EventInfo.GestureID=igiDoubleTap) then begin SpeedButton1.Text:=TListViewItem(ListView1.Selected).Text; end; end; procedure TForm1.SpeedButton1Click(Sender: TObject); var Item: TListViewItem; I:integer; begin ListViewPV.BeginUpdate; for I := 1 to 100 do // заполняем begin Item := ListViewPV.Items.Add; Item.ButtonText:= 'Button text'; Item.Text := 'Text '+IntToStr(I); Item.Detail := 'Detail '; Item.Accessory:=TAccessoryType.More; end; ListViewPV.EndUpdate; end; Приходится проверять что ListView1.Selected<>nil
  20. Добрый день интересует вопрос может кто сталкивался с подобной проблемой в FDMemTable1 есть большое количество записей примерно 2500-3000 как максимально быстро поместить все записи в ListView
  21. Интересует: 1. Как сделать ListView с 3-мя и более колонок (разных типов) в зависимости от ширины экрана 2. Заполнение ListView вручную из DataSet 3. Идея и пример реализации возможности сортировки по колонкам ListView (кто, как делает) 4. Идея и пример фильтрации ListView по колонкам (пример, с точки зрения удобства для пользователя, не замограждения экрана и т.д.)
  22. Dozent

    Пример работы с ListView

    Не могу найти пример работы с ListView, мне нужно сделать групировку, добавить картинку слева ну с этим вроде должен разобраться и ещё мне нужно на каждый итем добавить Lable
  23. Здравствуйте, каким образом можно отследить достижение конца списка в listview? Наверное, все пользовались приложениями социальных сетей, где список обновляется автоматически. (Пример: VK) Хочется сделать также и в Delphi XE7. В Java обрабатывается с помощью onOverScrolled
  24. Всем привет. Проблема в следующем. Взял компонент Listview и вывожу туда текст из базы и картинку из интернета. Listview Apperance поставил Custom. Всё хорошо, но вот только текст уплывает за картинку. Я взял и передвинул Place Offset в тексте по иксу на 75, то есть по ширине картинки. Теперь вроде бы всё хорошо. Но оказывается, что ровно эту же длину теперь съедает справа. То есть если поставить Wordwrap в положение true, то 75 пикселей текста остаётся как бы за формой. Проблему можно решить установив для текста длину, но тогда на планшете это будет выглядеть ужасно.
×
×
  • Создать...