Autor Téma: TAdvDBLookupComboBox - výška zoznamu  (Přečteno 106 krát)

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4182
  • Karma: 37
    • Verze Delphi: XE7 professional
TAdvDBLookupComboBox - výška zoznamu
« kdy: 11-06-2019, 15:15:19 »
Rád by som si urobil funkčnosť podľa DropDownCount v ComboBox. Používam hodnotu 21. Ak je položiek menej, tak sa výška zoznamu prispôsobí. Nateraz mám
Kód: Delphi [Vybrat]
  1. procedure TfrmsubFiSe.addblucbropDown(Sender: TObject);
  2. var
  3.   ItemsCount: Integer;
  4. begin
  5. //  addblucb.GridRowHeight := 13; To si nastavím inde
  6. // * ItemsCount := addblucbConstructionalUnit_04.DataSource.DataSet.RecordCount; žiaľ toto mi vracia 0. Neviem prečo.
  7.   ItemsCount := MyTable.RecordCount;
  8.   if ItemsCount > 21 then
  9.     ItemsCount := 21;
  10.   addblucb.DropHeight := addblucb.GridRowHeight  * ItemsCount + 7;end;
Je to funkčné, ale
  • zdá sa mi to neohrabané
  • * rád by som to použil, aby som nemusel menovať tabuľku
  • samozrejme chcem to mať na jednom mieste a pre všetky komponenty, ktoré to tak majú
  • nechcem robiť potomka
Viem si to urobiť ako procedúru a tú potom priradiť do OnDropDown. Asi mi iné neostane.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4182
  • Karma: 37
    • Verze Delphi: XE7 professional
Re:TAdvDBLookupComboBox - výška zoznamu
« Odpověď #1 kdy: 11-06-2019, 15:19:03 »
Oprava: * má správne byť
Kód: Delphi [Vybrat]
  1. ItemsCount := addblucbConstructionalUnit_04.ListSource.DataSet.RecordCount;
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline Faltynek

  • Plnoletý
  • ***
  • Příspěvků: 167
  • Karma: 2
    • Verze Delphi: D5 Enterprise, D2009
Re:TAdvDBLookupComboBox - výška zoznamu
« Odpověď #2 kdy: 16-06-2019, 13:15:40 »
Ahoj,
Citace
* rád by som to použil, aby som nemusel menovať tabuľku
databáze neumím, ale abys nemusel jmenovat tabulku a pokud se jedná o TDBLookupComboBox, použij zápis
Kód: Delphi [Vybrat]
  1. ItemsCount:= inttostr(DBLookupComboBox1.listsource.dataset.recordcount)
No a pokud je to obyčejný DBCombobox, potom funguje
Kód: Delphi [Vybrat]
  1. ItemsCount:=inttostr(DBComboBox1.Items.Count)
ale to je pak počet položek v kolekci items.

Dalibor.

Dalibor (D2009 Enterprise, dřív D5Enterprise)