RAD Studio XE3 - Visual LiveBindings - databáze

vložil Radek Červinka 28. listopadu 2012 00:17

Základní výhodou (Visual) LiveBinding je možnost propojení prakticky libovolného prvku s prakticky čímkoliv. Např. v případě databází nejste omezeni jen TDBxx komponentami (resp. rovnou na ně klidně zapomeňte).

Na začátek malou ukázku nevšedních uživatelských prvků.

Mějme novou VCL aplikaci a vložíme tam ClientDataSet s daty pro FishFact. Nyní si na formulář vložím TListView a TListBox. U TListView nastavím mód zobrazení na vsReport a přidáme několik sloupců. Nyní na inkriminovaném TListView zvolíme Bind Visually. Objeví se LBD a na formulář se přidá komponenta TBindSourceDB, která reprezentuje zdroj dat - v tomto případě databázi.

LiveBinding

Na uvedeném příkladu je vidět prolinkovaný zdroj dat s ListView a pro vybranou hodnotu u ListView je via LookUpData property přiřazen Field Notes do Label1.Caption. Zároveň je navíc DB polem Category naplněn TListBox.

Jak budeme měnit vybraný záznam v ListView, bude se aktualizovat Label1 o popis. Výběr je podle mne jednosměrný, tj. změna výběru u ListView způsobuje změnu u navěšené akce, nikoliv změnu ve zdroji dat (v podstatě tedy něco jako unidirectional dataset) - pokud se pletu, tak mne opravte.

Ale to není to co si představujeme pod pojmem FishFact, tj. při výběru záznamu se mění pozice v tabulce - kurzor.

FishFact

Co by to bylo za DB tutoriál v Delphi bez klasického FishFact?

Vytvoříme novou aplikaci a na formulář dáme opět ClientDataSet a zvolíme Bind Visually. Na seznamu polí vybereme pravým tlačítkem Link to New Control a objeví se seznam polí.

LiveBinding

Pro hvězdičku (což značí celý dataset) je nabízen TStringGrid a tak ho hned využijeme. Zároveň přidáme TImage ke Graphic a navíc jako bonus TBindNavigator (třeba i přes paletu komponent). Pozor - nejedná se o starý TDBNavigátor, ale o novou komponentu.

LiveBinding

Pro výběr polí u gridu proveďte přes pravou myš výběr položky menu Columns Editor…, jinak bude zobrazeno vše.

A tak v podstatě několika kliknutími je vytvořena jednoduchá DB aplikace.

Takto můžeme přidat i editační prvky, např. TEdit pro Common_Name. Přidané pole je automaticky bidirectorional (obousměrné). Je to symbolizováno šipkou na obou koncích.

LiveBinding

Změnou na linkDataToControl vytvoříme jednosměrný link.

FireMonkey

Vytvoříme novou FireMonkey HD aplikaci, vložíme ClientDataset a u hvězdičky vybereme Link to New Control… a z nabídky vybereme TGrid.

LiveBinding

Na konec nad TBindSourceDB v designeru vybereme z popup menu Add Navigator, čím se nám přidá navigátor a nakonec u TGridu můžeme nastavit ReadOnly.


Nabízíme Delphi školení a konzultace na různá témata, primárně ve Vaší firmě.

Tagy: ,

Novinky v Delphi

Komentování ukončeno

Naše nabídka

Partial English version.

MVP
Ing. Radek Červinka - Embarcadero MVP
profil na linkedin, Twitter:@delphicz

Nabízím placené poradenství a konzultace v oblasti programování a vývoje SW.
Dále nabízíme i vývoj speciálního software na zakázku.

Neváhejte nás kontaktovat (i ohledně reklamy nebo burzy práce).

Pokud chcete podpořit tento server libovolnou částkou, můžete použít PayPal. Moc děkuji.

Delphi Certified Developer

O Delphi.cz

Delphi je jediný moderní RAD nástroj podporující tvorbu nativních aplikací pro platformu Win32, Win64 , Mac OSX a na iPhone a Android (s výhledem na další platformy díky FireMonkey) na současném trhu (včetně Windows 8.1).

V současnosti je světová komunita přes dva miliónů vývojářů.

Delphi.cz je nezávislý portál pro uživatele Delphi. Portál není koncipován pro úplné začátečníky, i když i ti se zde nebudou nudit, ale spíše na programátory, kteří již něco znají a chtějí své znalosti dále rozvíjet a sledovat novinky.

Anketa

Poslední komentáře

Comment RSS