Skip Navigation LinksALVAO 10.4Rozšiřující modulyALVAO Service Desk Custom AppsVlastní formulář pro podání nového požadavkuPrvek ColumnsControl Skip Navigation Links.


Prvek ColumnsControl

Ovládací prvek ColumnsControl zobrazuje na formuláři vstupní pole pro zadání hodnot přímo do položek požadavku.

ColumnsControl generuje celé vstupní pole formuláře i s popisem. Pro základní funkčnost je třeba nastavit zobrazované položky (např. ShowColumns = "tHdTicket.mHdTicketNotice"), případně povinné položky (např. RequiredColumns="tHdTicket.mHdTicketNotice"). Položky se zobrazují v zadaném pořadí odshora dolů.

Každý prvek ColumnControl je třeba inicializovat. V souboru s příponou .cs ve funkci ConfigControls() použijte následující řádek pro každý použitý prvek ColumnsControl na formuláři:
((DynamicModel)Model).GetControl<ColumnsControl>("ColumnsControl0");
Kde místo ColumnsControl0 použijte název vašeho prvku.

Vložíte-li tento ovládací prvek do formuláře mezi <div id="CustomFormContent"> a </div>, dojde k automatickému uložení hodnot při volání funkce CreateTicket. Ovládací prvek je možné použít vícekrát na jedné stránce. Případné další možnosti nastavení a příklad viz níže.

Tip:
Doporučujeme ColumnsControl konfigurovat pomocí atributů na stránce (.cshml). ColumnsControl je také možné konfigurovat v kódu (.cs).
Poznámka:
Chcete-li, aby tyto položky nebyly přidány do textu požadavku, je třeba jej umístit mimo <div id="CustomFormContent"> a </div>, ale poté je třeba provést manuální uložení vyplněných hodnot zavoláním funkce UpdateColumns(...) pro každý ColumnsControl a každý vytvářený požadavek.
Poznámka:
Při zobrazení stránky se ColumnsControl snaží zjistit SectionId automaticky ze zadané webové adresy. Obsahuje-li webová adresa parametr adresa iHdSectionId=cislo, je "cislo" použito jako ID vybrané služby, není-li nastaveno jiné. (Např. http://www.servicedesk.cz/Custom/ALVAO/NewTicket_Template/?iHdSectionId=11 obsahuje ID služby č. 11. To bude automaticky nastaveno jako SectionId.)
Tuto funkčnost lze vypnout nastavením SectionId="0", nebo nastavením konkrétní služby.
Poznámka:

ColumnsControl provádí základní kontrolu práv:

  • Je-li nastaven TicketId, je třeba, aby přihlášený uživatel mohl tento požadavek zobrazit, jinak je přesměrován na chybovou stránku.

Formát parametrů

V popisu atributů a funkcí jsou použity následující formáty parametrů:

  • columns – seznam sloupců ve formátu "tabulka1.sloupec1, tabulka1.sloupec2, …". Takto lze definovat jeden či více sloupců pro aktuální ColumnsControl. Povolené sloupce:
    tabulka.sloupec Položka požadavku Poznámky
    tHdTicket.mHdTicketNotice Poznámky
    tHdTicket.sHdTicketGroup Skupina Povoluje i jiné než předdefinované hodnoty.
    tHdTicket.sHdTicketDeviceCode Číslo zařízení
    tHdTicket.FeedbackSolveSpeed Rychlost řešení  
    tHdTicket.FeedbackProfessionality Profesionalita  
    tHdTicket.FeedbackExpertise Odbornost  
    tHdTicket.FeedbackComment Komentáře a poznámky  
    tHdTicket.RelatedAccountId Související organizace  
    tHdTicketCust.* vlastní položky Jednotlivé sloupce v tabulce tHdTicketCust, které představují vlastní položky. Místo hvězdičky uveďte název konkrétního sloupce.
  • sectionId – id služby
  • sectionName – úplný název služby včetně cesty (např. "Helpdesk/Problémy")
  • mode – jeden z Edit (výchozí) a View
  • msg – řetězec obsahující text zobrazený u nevyplněné požadované položky
  • ticketId – číslo požadavku k zobrazení/uložení.

Atributy v cshtml

  • ShowColumns = columns – sloupce, které je třeba vygenerovat na formulář a uložit do db. Sloupce se zobrazují v zadaném pořadí odshora dolů.
  • RequiredColumns = columns – sloupce, které musí být vyplněny pro umožnění uložení. Tyto sloupce se musí nacházet i v atributu ShowColumns. Na pořadí nezáleží.
  • SectionId = sectionId – nastaví ID a název služby. Toto ovlivňuje hodnoty k výběru pro položky s číselníkem (jsou-li definovány hodnoty pro specifickou službu).
  • SectionName = sectionName – nastaví ID a název služby. Toto ovlivňuje hodnoty k výběru pro položky s číselníkem (jsou-li definovány hodnoty pro specifickou službu).
  • Mode = mode – nastaví mód zobrazení.
  • TicketId = ticketId – nastaví ID požadavku k editaci/zobrazení/uložení.
  • CssClass – třída css stylu.
  • IgnoreColumns = columns – sloupce, které se nezobrazí.
  • IncludeServiceColumns – příznak, jestli se mají zobrazit sloupce podle procesu služby zadané v SectionId
  • IncludeRequiredColumns – příznak, jestli se mají zobrazit povinné sloupce podle procesu služby zadané v SectionId.

Funkce

Poznámka:
Pro základní funkčnost prvku ColumnsControl není nutno tyto funkce používat.
  • UpdateColumns() – uloží vyplněné hodnoty do db do požadavku, jehož id je nastaveno pomocí atributu TicketId.
  • UpdateColumns(int ticketId) – uloží vyplněné hodnoty do db k požadavku číslo ticketId.

Příklad použití

Příklad zobrazení položek Skupina (tHdTicket.sHdTicketGroup) a Poznámky (tHdTicket.mHdTicketNotice). Položka Skupina je povinná:

  • .cshml + automatické uložení (pomocí volání funkce CreateTicket)

        .... Váš obsah formuláře....

       @Html.EditorFor(m => m["ColumnsControl0"], "ColumnsControl", new { ShowColumns="tHdTicket.sHdTicketGroup, tHdTicket.mHdTicketNotice",RequiredColumns="tHdTicket.sHdTicketGroup" })
        .... Zbyek formuláře....

Další příklad použití lze nalézt na stránce "~/Custom/Templates/NewTicket_Template.cshtml" a z něj odvozených.

 

Nenašli jste co jste hledali? Zeptejte se našeho týmu technické podpory.