1. Skript pro skrytí sloupce

    Článek: AN0001911Aktualizováno::

    To, zda má být sloupec skryt nebo zobrazen primárně nastavujeme v detailu sloupce nebo v nastavení Násobných sloupců, pokud jimi třída disponuje. Někdy ale potřebujeme sloupec skrýt v závislosti na dalších skutečnostech, které zjistíme až zaběhu. Sloupce můžete skrýt vždy, ale naopak je nemůžete skriptem zobrazit, pokud byly skryty přímo v definici sloupce nebo nejsou zvoleny v nastavení Násobných sloupců.

    Skrytí sloupce v seznamu záznamů

    Následující skript skryje sloupec s kódem column_code v seznamu záznamů.
    Místo použití skriptu: Detail třídy: Skript pro detail záznamu
    function OnLoad()
    {
      OGColumns['column_code'].Visible = false;
    }

    Skrytí sloupce v detailu záznamů

    Následující skript skryje sloupec 'segmentation'. Nastavení provedeme v události OnAfterLoadColumns.
    Místo použití skriptu: Detail třídy: Skript pro seznam záznamů

    function OnAfterLoadColumns()
    {
     OGColumns['segmentation'].Visible = false;
    }


    Následující příklad skryje ve třídě s násobnými sloupci sloupec 'name' pro nově zakládaný záznam, pokud je ve sloupci 'category_request' odkazováno na záznam jiné třídy, který má ve sloupci 'code' hodnotu 'HR requests'. Protože chceme potlačit chování definované v násobných sloupcích, skript musí běžet až po nastavení sloupců dle definice v Násobných sloupcích. Proto ho provádíme v události OnPreRender.

    function OnPreRender()
    {
      var visible = true;
      var name = OGColumns['name'];
      var rcId = OGColumns['request_category'].ColumnUI.GetData();
      if ( rcId != null && name.Visible)
      {
        var clRC = OGModel.ClassDefs['request_category'];
        var drRC = OG.DataRow.GetDataById( clRC.Id, rcId);
        if ( drRC != null && drRC['code'] == 'HR requests')
        {
          visible = false;
        }
      }
      name.Visible = visible;
    }

×