Demo | Dokumentace

Pager - dokumentace

Pager obsahuje dostatečnou dokumentaci ve formátu XML. Tu si můžete prohlédnout ve zdrojových kódech nebo pomocí Object Browseru. Zde se soustředím na postup uvedení Pageru do provozu.

1. Přidání Pageru do projektu a registrace na stránce

Protože Pager je distribuován i se zdrojovými kódy, máte dvě možnosti jak jej do projektu přidat. Buďto můžete použít binární verzi (dll) a přidat si do vašeho projektu refernci na ni nebo můžete zdrojáky od pageru vložit do adresáže App_Code.

Reference na DLL

Přidejte si do webového projektu referenci na knihovnu Pager.dll. V bin složce vaší aplikace by měly přibýt soubory Pager.dll a ĐTools.dll.  Na stránce, kde chcete Pager používat jej zaregistrujte takto:

<%@ Register TagPrefix="pgr" Namespace="DataPager" Assembly="Pager"%>  

Přidání do App_Code

Z projektu Pageru vemte soubory Numberings.vb a Pager.vb a nastěhujte je do složky App_Code vaší aplikace. Musíte si přidat do projektu referenci na knihovnu ĐTools.dll. Pager na stránce zaregistrujete takto:

<%@ Register TagPrefix="pgr" NameSpace="DataPager" %>

2. Propojení Pageru s datovým zdrojem

Toto budu demonstrovat na datovém zdroji typu ObjectDataSource. Pro SQLDataSource nebo jiné zdroje by byl postup obdobný. Pokud máte Pager v adresáři App_Code, zbuildujte nejdříve aplikaci.

  1. Umístěte na stránku Pager
  2. Pager a ObjectDataSource v návrhářiUmístěte na stránku datový zdroj
  3. Nastavte datový zdroj (metoda, která získává data by měla mít dva parametry, z nichž jeden bude určovat začátek stránky a druhý buďto její konec, nebo délku; může mít i další parametry).
  4. Configure data source - Define ParametersAž se dostane na stránku s nastavením parametrů, nastavte do parametru, který určuje začátek stránky vlastnost StartParameterValue pageru a do parametru určujícího délku nebo konec vlastnost EndParameterValue. Pokud byste měli potíže s nastavením zvolte Show advanced properties. Tím je datový zdoj nastaven.
  5. Nastavte vlastnost pageru EndParameterIsLength na odpovídající hodnotu. False pokud druhý parametr má určovat konec stránky, True, pokud má určovat délku.
  6. Nyní je potřeba ještě pageru říci, kolik položek je v datovém zdroji, aby mohl správně rozvrhnout stránky. Zvolte událost CountSelecting pageru a v její obsluze tento počet uložte do vlastnosti Count druhého parametru (e) události.

To je vše, co je potřeba udělat ze strany návrhu stránky a programování. Celkem velký problém spočívá v návrhu SQL příkazu, který by byl vhodný pro paging. MSSQL (narozdíl od třeba MySQL) nemá klauzuli LIMIT. MS náhražka této klauzule - TOP je jen polovičatým řešením. Na řadu tak přichází prostor pro různé divoké workaroundy. Jeden z nich vám nabízím:

3. Vhodný SQL dotaz

Napište SELECT FROM SELECT, který bude vypadat asi takto:

SELECT TOP(@Count) * FROM (SELECT *, ROW_NUMBER() OVER(ORDER BY ID) AS rn FROM Tabulka) WHERE rn >= @Start ORDER BY rn

Pager © Đonny 2006