-
Постов
385 -
Зарегистрирован
-
Посещение
-
Победитель дней
14
Сообщения, опубликованные xenon54
-
-
Кстати у TListViewItem нет свойства Visible
-
Всем привет! В компоненте TListView есть свойства SearchVisible. Установив его в true сверху компонента появляется строка поиска. Работает вполне сносно. В своем проекте я использую кастомыный ItemAppearance из примеров ("MultiDetailItem"). Как сделать так чтобы поиск фильтровал итемы не только по свойству "text" у итемов, но и ,например, по Detail1, Detail2, Detail3?
Попробую предположить, что проще будет создать свой edit для строки фильтрации. Пробегать по итемам листа перебором и выставлять свойство item(i).Visible = false, где во всех нужных полях не содержится искомая комбинация. Хотя и изменить логику поведения в модуле FMX.SearchBox.pas наверное тоже возможно при желании.
Да хотелось бы хоть что-то сделать в ФМ без костылей, ибо потом они аукнутся через пару версий... А вот как этот поиск устроен в TListView при помощи SearchBox разобраться не могу...
-
-
Тема актуальна.
-
Не уверен что правильно понял вопрос, но попробую ответить так как понял.
var RB : TRadioButton; begin RB := TRadioButton.Create(ListBox1.ItemByIndex(1)); RB.Parent := ListBox1.ItemByIndex(1); RB.Align := TAlignLayout.Right; end;
Ну или TImage вместо TRadioButton.
-
Ну что касается IOS, то могу сказать что там нужны библиотеки libcrypto.a и libssl.a и в юзесы во view source надо прописать
{$IF Defined(IOS) and Defined(CPUARM)} IdSSLOpenSSLHeaders_Static, {$ENDIF }
Для винды тож надо установить библиотеки SSL. Для андроида хз, не пробовал еще ни разу пока.
-
Речь об IOS, Android, windows?
-
-
-
Про соседнюю тему в которой о поиске не подскажешь куда копать?
-
Узнал про существование хелперов из твоего поста. Погуглил, оказалась клевая штука, плохо что не знал раньше про них
В итоге написал следующее:
TObjectHelper = class helper for TListViewItems public type TItemsList = TList<TListViewItem>; public procedure MyChanged; function MyActiveitems : TItemslist; end; .... implementation procedure TForm1.Button2Click(Sender: TObject); begin ListView1.Items.MyActiveitems.Sort( TComparer<TListViewItem>.Construct( function(const Left, Right: TListViewItem): Integer begin Result := CompareText(Left.text, Right.Text); end)); ListView1.Items.MyChanged; end; { TObjectHelper } function TObjectHelper.MyActiveitems: TItemslist; begin result := self.FActiveItems; end; procedure TObjectHelper.MyChanged; begin self.changed; end;
Все замечательно работает
Спасибо.
-
Всем привет! У компонента TListView есть метод sort параметром которого является "TFmxObjectSortCompare".
TFmxObjectSortCompare = reference to function (Left, Right: TFmxObject): Integer;
Для листбокса сортировка выглядела бы так:
function TForm1.SortASCII(Left, Right: TFMXObject): Integer; begin Result := CompareText((Left as TListBoxItem ).text (Right as TListBoxItem).Text); end;
Но в ListView итемы не являются наследниками TFMXObject. И как быть в этой ситуации? Метод сорт получается лишний в TListView или можно как-то по-другому реализовать сортировку?
-
Всем привет! В компоненте TListView есть свойства SearchVisible. Установив его в true сверху компонента появляется строка поиска. Работает вполне сносно. В своем проекте я использую кастомыный ItemAppearance из примеров ("MultiDetailItem"). Как сделать так чтобы поиск фильтровал итемы не только по свойству "text" у итемов, но и ,например, по Detail1, Detail2, Detail3?
-
Всем привет. Кто-нибудь знает можно ли сохранить Bitmap в фотоальбом? И если да, то как?
-
property ImageObject: TListItemImage read GetImageObject;
А этим не получится воспользоваться? Как-то поместить на задний план и размеры сделать во весь итем.
-
Я согласен на потомков, но что там делать, чего добавлять. Можешь накидать? Хотя это наверное дело не 5 минут... В любом случае спасибо за попытку помочь
И не станет ли ListView после этих изменений таким же тормозным как ListBox...
Я потому и выбрал ListView что он не тормозит при скроле когда он состоит из 100-200 итемов на телефоне, чего нельзя сказать о ListBox.
Так что ListBox не вариант.
-
Есть ListView заполненный итемами. Фон у всех итемов одного цвета, по дефолту белого. Есть, допустим, кнопка на форме. По нажатии на эту кнопку нужно чтобы поменялся фон у 3-го итема в ListView. Это задача.
В своем проекте использую кастомизированные итемы для ListView из примеров "MultiDetailAppearance". Я думаю что пути решения 2:
1) Заного перерисовать отдельный итем;
2) Добавить в класс "TMultiDetailItemAppearance" какой-нибудь "TIMage" и зарисовать его нужным цветом когда мне это понадобится, или "TRectAngel".
Как реализовать эти оба варианта, я не знаю.
-
Проблема в том что ListBox и ListView очень сильно отличаются. У ListBoxa итемы это контролы, и там все понятно как сделать. А вот у ListView итемы не контролы, т.е. стилизация для них чужда.
-
Интересно почему Ярослав игнорирует эту тему? Я как-то не так оформил тему или на этот вопрос нет ответа?
-
var o : TImage; begin O := Panel1.FindStyleResource('userimage'); if Assigned(O) then begin o.bitmap.loadfromstream(stream); end; end;
Попробуй так.
-
Странно что я не могу найти решения своего вопроса, ведь как мне кажется, он должен быть весьма распространенным ...
-
К сожалению с IOS все иначе.
-
Так мне нужно менять цвет не при прорисовке итемов, а после.
-
Замораживается. Сам ищу способ как это реализовать. Так делается в x-code, а как в FireMonkey нет инфы в инете.
ListItemBackground
в TListView
Опубликовано · Изменено пользователем xenon54
Нашел вот это:
Тут "FBrush.Color := FItemStyleFillColor;" можно поменять на свой цвет, допустим в зависимоcти от свойства tag. Получится что-то типа :
Вопрос как применить эти изменения не изменяя FMX.ListView? Если написать Helper к TCustomListView в своем юните, то естественно он не подхватывается, а писать его в FMX.ListView ИМХО тупо, уж проще сам метод в TCustomListView поправить. Сделать наследника TlistView как я понял тоже гиблое дело из-за того что метод DrawItemsFill не виртуальный и его не переопределить. Как быть?