質問

TistViewオブジェクトの中の項目をグループ化しようとしていますが、私はオブジェクトのグループ化を担当するクラスを見つけることができませんが、私はドキュメントの内部で見つけることができなかった。

  • TlistViewオブジェクト内のアイテムのグループ化責任者とは何ですか。

プラットフォームはFiremonkey(Android / iOS)/ Delphi XE6

です。

役に立ちましたか?

解決

私はあなたが参照していると私が言及していると私はTListGroupsTListGroupアイテムを保持するコレクションです。 デモ Delphiのドキュメントで提供されています。

残念ながら、基礎となる機能はTListViewが折り返されるWindows ListViewコントロールの一部であるため、FMXではなくVCLでのみ利用可能です。

FMXに最も近いTListBoxTListBoxGroupHeaderを使用しています。これは、リストボックスコンポーネントを使用してマルチデバイスのチュートリアルでカバーされています。 href="http://docwiki.embarcadero.com/radstudio/xe6/en/mobile_tutorial%3a_using_listbox_tutorial%3a_dising_lay_a_table_view_%28ios_and_android%29" rel="nofollow noreferrer"> docwiki :

procedure TForm1.FormCreate(Sender: TObject);
var
  c: Char;
  i: Integer;
  Buffer: String;
  ListBoxItem : TListBoxItem;
  ListBoxGroupHeader : TListBoxGroupHeader;
begin
  ListBox1.BeginUpdate;
  for c := 'a' to 'z' do
  begin
    // Add header ('A' to 'Z') to the List
    ListBoxGroupHeader := TListBoxGroupHeader.Create(ListBox1);
    ListBoxGroupHeader.Text := UpperCase(c);
    ListBox1.AddObject(ListBoxGroupHeader);

    // Add items ('a', 'aa', 'aaa', 'b', 'bb', 'bbb', 'c', ...) to the list
    for i := 1 to 3 do
    begin
      // StringOfChar returns a string with a specified number of repeating characters.
      Buffer := StringOfChar(c, i);
      // Simply add item
      // ListBox1.Items.Add(Buffer);

      // or, you can add items by creating an instance of TListBoxItem by yourself
      ListBoxItem := TListBoxItem.Create(ListBox1);
      ListBoxItem.Text := Buffer;
      // (aNone=0, aMore=1, aDetail=2, aCheckmark=3)
      ListBoxItem.ItemData.Accessory := TListBoxItemData.TAccessory(i);
      ListBox1.AddObject(ListBoxItem);
    end;
  end;
  ListBox1.EndUpdate;
end;
.

これは(示されたDOCWIKIからの画像)

Sample Table IOSおよびAndroidのリストボックスの外観

他のヒント

これは、LiveBindingを使用してLiveBindingを使用している間にFMX TlistViewコントロールで簡単に実現されます.Breakフィールドは、グループをオンにしたいです(多くのレコードに冗長なDBのフィールドになります)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top