Autor Téma: StringGrid - zoradenie údajov podľa stlpca  (Přečteno 371 krát)

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 7424
  • Karma: 44
    • Verze Delphi: W11 + D11.3.1
StringGrid - zoradenie údajov podľa stlpca
« kdy: 15-09-2024, 13:34:31 »
Skúšam FMX. Na zobrazenie obsahu tabuľky som si vybral StringGrig. Neviem, či je lepší Grid. Som zhýčkaný VirtualStringTree.
Ak kliknem na hlavičku, tak chcem aby sa všetko zoradilo podľa tohto stĺpca. Na to musím nastaviť v TFDTable IndexFieldsName.
Udalosť je definovaná strngrd1HeaderClick(Column: TColumn). Popis v helpe je nanič.
Spôsobom pokus omyl som zistil nasledovné.
  • Column.Index mi vráti aktuálnu polohu stĺpca. Zohľadňuje jeho premiestnenie. Nedá sa použiť.
  • Tak isto sa nedá použiť názov, lebo
  • ShowMessage(Column.Header);   //  Názov stĺpca - DisplayName. A ten bude napr. v inom jazyku ako je názov poľa.
  • Nehovorím o tom, žeby sa mi páčilo mať zostupné zoradenie (Z-A)
Ako sa to dá urobiť? Alebo existuje na zobrazenie obsahu tabuľky lepší komponent?
Win11 64b, Delphi 12.2, FireBird 4.01
Expert na kladenie nejasne formulovaných otázok.

Offline tomak586

  • Nováček
  • *
  • Příspěvků: 28
  • Karma: 2
Re:StringGrid - zoradenie údajov podľa stlpca
« Odpověď #1 kdy: 15-09-2024, 15:47:35 »
My používáme komponenty od TMS. Podívej se na https://download.tmssoftware.com/doc/tmsfncuipack/components/ttmsfncgrid/

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 7424
  • Karma: 44
    • Verze Delphi: W11 + D11.3.1
Re:StringGrid - zoradenie údajov podľa stlpca
« Odpověď #2 kdy: 15-09-2024, 15:52:07 »
Viem o nich. Nemám a nedám na to 400€. Má to byť taký malý free projekt.
Používam VCL UI Pack. Som veľmi spokojný.
Win11 64b, Delphi 12.2, FireBird 4.01
Expert na kladenie nejasne formulovaných otázok.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 7424
  • Karma: 44
    • Verze Delphi: W11 + D11.3.1
Re:StringGrid - zoradenie údajov podľa stlpca
« Odpověď #3 kdy: 15-09-2024, 16:55:36 »
Hm, TGrid vyzerá ako nepoužiteľný. Nedá sa v Bind Visualy napojiť na zdroj údajov.
Win11 64b, Delphi 12.2, FireBird 4.01
Expert na kladenie nejasne formulovaných otázok.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 7424
  • Karma: 44
    • Verze Delphi: W11 + D11.3.1
Re:StringGrid - zoradenie údajov podľa stlpca
« Odpověď #4 kdy: 15-09-2024, 17:45:31 »
Našiel som OriginalIndex.
Kód: Delphi [Vybrat]
  1. procedure TMainFMXForm.strngrd1HeaderClick(Column: TColumn);
  2. begin
  3.   if fdtb1.IndexFieldNames = fdtb1.Fields.Fields[Column.OriginalIndex].FieldName then exit;
  4.   fdtb1.IndexFieldNames := fdtb1.Fields.Fields[Column.OriginalIndex].FieldName
  5. end;
« Poslední změna: 15-09-2024, 18:02:51 od Stanislav Hruška »
Win11 64b, Delphi 12.2, FireBird 4.01
Expert na kladenie nejasne formulovaných otázok.