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.
|