문제

내가 노력하는 그룹 항목을 내부 TListView 체,하나의 클래스를 찾는 책임을 그룹화합체,나도 찾을 수 있었다 그러한 내부 설명서를 참조하십시오.

  • 는 무엇입 등 책임에 대한 그룹의 항목 TListView 체,그리고 그것을 제대로 사용하는 방법?

플랫폼 Firemonkey(Android/iOS)/델파이 XE6

도움이 되었습니까?

해결책

시설 내가 믿는 당신은 참조가 TListGroups, 컬렉션을 보유하는 TListGroup 항목입니다.가 데모 에서 제공하는 Delphi 문서입니다.

불행하게도,그것은에서만 사용할 수 있 VCL 지 FMX,기본 기능은 Windows ListView 컨트롤 TListView 랩이 있습니다.

가장 가까이에서 얻을 수 있습니다 FMX 사용 TListBoxTListBoxGroupHeader,덮여 있는 멀티 디바이 튜토리얼 를 사용하여 목록 상자에 구성 요소를 표시하는 테이블 보기(iOS 및 안드로이드)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 view listbox appearance in iOS and Android

다른 팁

이것은 FMX TLISTView 컨트롤에서 쉽게 수행 할 수 있습니다. LiveBindings에서 TListViewItem.Header.Break 필드를 그룹화 할 fieled에 연결하십시오 (많은 레코드에서 중복되는 DB의 필드가 있음).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top