Ponejprv chci upozornit čtenáře na článek na serveru Zdroják o použití komponenty DataGrid v Silverlightu. Datovou mřížku pokládám za jednu z nejdůležitejších komponent, dokonce jsem toho názoru, že schopnosti této komponenty určují praktickou použitelnost celé technologie. Rád bych vám ukázal, že i v „čistém“ prohlížeči za pomocí JavaScriptu, DHTML a AJAXu je možné používat velmi povedené mřížky…
Základní vlastnosti
Grid původně pochází z GUI aplikací, přebírá tedy zvyklosti obvyklé v tomto prostředí. Na následujícím obrázku některé vidíte uživatelsky nastavitelné řazení sloupců, ořezávání příliš širokého obsahu, barevně označený výběr několika řádků a stránkovač:

Tento příklad naleznete také živě na webu (jde o komponentu do Apache Wicketu).
Pokročilé vlastnosti
Tím ovšem ukázka schopností (mého oblíbeného) Wicketu nekončí, na těch samých stránkách najdete TreeGrid, kde jsou data zobrazena v podobě hierarchie. Po clicku se řádek přepne do editačního režimu.

In-line editace dat je pro uživatele velmi praktická – na měněný údaj clickne a na tom samém místě ho opraví. Ještě něco důležitého chybí? Ano, filtrování. Ergonomicky je nejlepší řešení je umístit filtr do hlavičky, tak jak to vidíme v DHTMLX gridu. Tato mřížka navíc umožňuje čtvercový výběr (v obrázku žlutou barvou):

Užitečným prvkem je také zobrazení výsledky agregační funkce pod sloupci, jak to umí NetAdventage grid (komponenta pro JSF):

Ještě více pokročilé vlastnosti
Je několik dalších vlastností, které uživatel GUI aplikace očekává a které by mu mohly v RIA aplikaci chybět. Například:
- skrývání sloupců
- ovládání z klávesnice
- skinování
- ukládání nastavení gridu do příštího sezení (tj. na server)
- bezproblémová práce s velkými zdroji dat (problém u klientských řešení, kdy se používá cache v prohlížeči. Podle ukázky to DHTMLX grid zvládá.)
Jako poslední jsem si nechal ukázku z gridu z Wicketu, který podporuje změnu pořadí sloupců pomocí drag&drop – světle modrý rámeček znázorňuje, že myš něco „drží“, šipky pak možné umístění sloupce.

Závěr
Je lepší použít JavaScriptové řešení, klientské nebo serverové, a nebo raději Silverlight či Flex? Nebo zvolit poslední novinku JavuFX?
Vybrat vhodnou technologii pro RIA není snadné. Všechny technologie jsou relativně nové, jen v samotném JavaScriptu existuje několik kvalitních sad komponent…

Poslední komentáře
před 40 týdnů 6 dnů
před 1 rok 1 týden
před 1 rok 22 týdnů
před 1 rok 29 týdnů
před 2 roky 1 týden
před 2 roky 1 týden
před 2 roky 1 týden
před 2 roky 38 týdnů
před 2 roky 39 týdnů
před 2 roky 39 týdnů