Установите TlistView в Delphi FMX, чтобы он отображался горизонтально

У меня есть форма FireMonkey с компонентом Tlistview. У него есть Tlayout в качестве родителя. Я хочу, чтобы элементы в списке не заполняли весь макет, в котором он находится, вместо этого он должен соответствовать половине ширины своего родительского макета, и когда элементы достигают нижней части макета, он должен перейти к следующему столбцу.

В компоненте Tlistbox (не TlistView) есть свойство с именем «ListStyle», которое может быть установлено как «вертикальное» или «горизонтальное», это именно то, что я ищу в компоненте Tlistview.

Любая помощь будет принята с благодарностью.


person codeGood    schedule 07.06.2021    source источник
comment
TlistView наследуется от TlistBox. Это не в FMX или VCL   -  person Dave Nottage    schedule 08.06.2021


Ответы (1)


Для этой цели больше подходит TListBox. Здесь у вас есть свойство Columns. Установите ListBox.Columns := 2, и вы увидите два параллельных списка.

введите здесь описание изображения

Имейте в виду, что он не отсортирован так, как вы просили, но вы можете отсортировать элементы, используя ListBoxItem.Index или вызвав метод ListBox1.Sort(ComparerFuncfunction (Left, Right: TFmxObject): Integer).

TListView не имеет возможности отображать больше столбцов. Если нужен TListView, я бы разместил несколько TListView рядом друг с другом внутри макета и распределил сами элементы по представлениям или перегруппировал их в случае изменения размера.

person Schneider Infosystems Ltd    schedule 08.06.2021