1. Tlačítka

    Článek: AN0001619Aktualizováno::

    Tlačítka slouží pro rychlé přidání funkce na stránku se záznamy (seznam záznamů nebo detail jednoho záznamu) nebo na stránku s webparty.

    Pomocí tlačítek můžete provést řadu operací jako spustit workflow, zobrazit libovolnou stránku zadáním URL, spustit skript, zobrazit schéma atd.

    Tlačítka lze umístit na toolbar nebo do kontextového menu.

    Každému tlačítku lze přiřadit text a ikonu pro pohodlné rozlišení. Tlačítek můžete vytvořit libovolné množství. Pořadí tlačítek se určuje nastavením Pořadí.

    Tlačítko se zobrazí, jen pokud má uživatel na tlačítko oprávnění a pokud má uživatel právo na objekt, který je ke tlačítku připojen, tj. workflow, schéma, třída...

    Spuštění skriptu

    U tlačítka, které spouští skript, jsou dostupné následující vlastnosti:

    Název Popis
    OGForm Objekt pro práci s obsahem stránky.
    int? OGActualDataRowParentId Id třídy nebo dotazu.
    int? OGActualDataRowId Id záznamu. Tato vlastnost je prázdná u tlačítka umístěného na toolbaru na stránce se seznamem záznamů.
    List OGFilteredDataRowIds Seznam Id datových záznamů zobrazených na stránce Datas.aspx.
    List OGSelectedDataRowIds Seznam Id datových záznamů vybraných na stránce Datas.aspx.
    JSDataDetailForm OGDataDetailForm Objekt pro práci s detailním formulářem.
    Model OGModel Model, do nějž patří aktuální stránka nebo třída.
    JSFilter OGFilter Objekt pro práci s filtry na stránce Datas.aspx
    JSSelectedIds OGSelectedDataRow Seznam vybraných záznamů - na master-detail vazbách vybírané pomocí checkboxu.
    ControlOperation OGControlOperation Tlačítko, na které je aktuálně kliknuto.
    ContentPage OGContentPage Stránka, pro kterou je tlačítko definováno.
    OGDataParent Třída nebo dotaz, pro které je tlačítko definováno.

    Při volání od stránky s webparty jsou obě vlastnosti OGActualDataRowParentId i OGActualDataRowId prázdné.

    Vlastnost OGDataDetailForm je dostupná jen na stránce DataDetail.aspx.

     

    Vlastnost OGSelectedDataRow je dostupná pouze na stránce DataDetail.aspx. Obsahuje seznam zaškrtlých záznamů z jednotlivých záložek pro master-detail vazby.

     

    Vlastnosti OGContentPage a OGDataParent jsou naplněny podle kontextu, kde ke kliknutí na tlačítko došlo. Proměnné jsou definovány vždy, ale mohou obsahovat NULL hodnotu.

     

    Vlastnost OGFilteredDataRowIds obsahuje seznam Id datových záznamů, které byly pro danou třídu nebo dotaz naposledy zobrazeny. Pokud na stránce se seznamem záznamů provedete filtrování záznamů, pak zde budou Id jen těch vyfiltrovaných záznamů.

    Nastavené stránkování nemá na tuto vlastnost vliv. Vždy bude obsahovat všechna Id ze všech stránek bez ohledu na to na kolik stránek jsou datové záznamy rozděleny.

    Příklad:

    var ids = OGFilteredDataRowIds;
    if ( ids != null)
    {
        OGForm.SetInfo( 'Počet záznamů: ' + ids.Count);
    }
    else
    {
        OGForm.SetInfo( 'Seznam je prázdný.');
    }

     

    Vlastnost OGSelectedDataRowIds obsahuje seznam Id datových záznamů, které byly na stránce Datas.aspx pro danou třídu nebo dotaz kliknutím vybrány. Počet takto vybraných záznamů se zobrazuje pod seznamem dat (např. text Záznamy: 1-20 / 20  (vybráno: 2)).

    Příklad na projití vybraných záznamů. Podobný příklad lze použít i na vyfiltrované záznamy.

    var ids = OGSelectedDataRowIds;
     if ( ids != null)
     {
        for( var i = 0; i < ids.Count; ++i)
        {
            //zpracovat jeden zaznam
           OGForm.SetInfo( 'Id: ' + ids[i]);
        }
     }
     else
     {
         OGForm.SetInfo( 'Seznam je prázdný.');
     }

    Příklad smazání vybraných (myší označených) záznamů skriptem na tlačítku.var ids = OGSelectedDataRowIds;
     if ( ids != null)
     {
       for( var i = 0; i < ids.Count; ++i)
           {
          //smazat jeden zaznam
         og.datarow.deletedata(ids[i/], OGActualDataRowParentId);
       }
     }
    else
     {
        OGForm.SetInfo( 'Nevybrali jste žádné záznamy.');
     }

    Aktualizace skrytých sloupců

    Někdy je třeba aktualizovat sloupce, které nejsou zobrazeny na formuláři. Pokud tedy na tlačítku provádíte uložení záznamu, pak můžete pomocí metod OGDataDetailForm.Save nebo OGDataDetailForm.SaveTask s parametrem dataRowProperty tyto sloupce nastavit a uložit do databáze.

×