Skip Navigation LinksALVAO 8.0ALVAO Asset ManagementImplementace systému v organizaciUpgrade z předchozích verzíPřevod vlastních formulářů pro podání nového požadavku do ALVAO 8.0 Skip Navigation Links. Skip Navigation Links Skip Navigation Links.


Převod vlastních formulářů pro podání nového požadavku do ALVAO 8.0

Vlastní formuláře pro podání nového požadavku používané v ALVAO 7.1 SP1 je nutné ručně převést pro použití v ALVAO 8. Funkčnost vlastních formulářů se nemění. V případě složitějších formulářů nebo použití nestandardních funkcí, kontaktujte technickou podporu.

Převod souboru aspx do cshtml

Soubor cshtml definuje vizuální podobou formuláře. Jako základ pro převod použijte soubor Custom/Templates/Empty.cshtml.
  • Sekci ohraničenou <asp:Panel ID="CustomFormContent" runat="server"></asp:Panel> nahrazuje <div id="CustomFormContent"></div>
  • Řádek s položkou požadavku
  • Podporované ovládací prvky a jejich převod
    Vstupní pole v aspx Vstupní pole v cshtml Poznámky
    <alvao:HdSection runat="server" id="HdSection1" /> @Html.DisplayFor(m => m.Section["HdSection1"], "Section")
    <asp:Localize ID="Localize1" runat="server" Text="Zadejte křestní jméno." /> Zadejte křestní jméno Může být i <div></div> element.
    <asp:Localize ID="Localize8" runat="server" Text="<%$ Resources:GlobalResource, ServiceRequest %>" />: <span>@Localization.ServiceRequest</span> Může být i <div></div> element.
    <td class="form_label">
    <asp:Localize ID="Localize1" runat="server" Text="Zadejte křestní jméno." />
    </td>
    <td class="form_value">
    <asp:Label ID="Label1" runat="server" Text="Jméno" />:*
    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="NameTextBox" CssClass="validator" ForeColor="" Text=" - Vyplňte položku" EnableClientScript="false" />
    <br />
    <asp:TextBox ID="NameTextBox" runat="server" Width="250" />
    </td>
    <div class="form-group">
    @Html.EditorFor(m => m["NameTextBox"], "StringField", new { label = "Jméno", required = true, help="Zadejte křestní jméno." })
    </div>
    <td class="form_label">
    <asp:Localize ID="Localize3" runat="server" Text="Zapněte tuto volbu, pokud ..." />
    </td>
    <td class="form_value">
    <asp:CheckBox ID="CheckBox1" runat="server" Text="Jednotlivá volba" />
    </td>
    <div class="form-group">
    <label for="CheckBox1" >Zapněte tuto volbu, pokud ...</label>
    @Html.EditorFor(m => m["CheckBox1"], "BoolField", new { label = "Jednotlivá volba" })
    </div>
    Popis pole je potřeba zapsat do extra elementu <label>
    <td class="form_label">
    <asp:Localize ID="Localize4" runat="server" Text="Vyberte ..." />
    </td>
    <td class="form_value">
    <asp:Label ID="Label3" runat="server" Text="Volba 1" />:
    <br />
    <asp:DropDownList ID="DropDownList1" runat="server" >
    <asp:ListItem Text="Položka 1" Value="Položka 1" />
    <asp:ListItem Text="Položka 2" Value="Položka 2" />
    <asp:ListItem Text="Položka 3" Value="Položka 3" />
    </asp:DropDownList>
    </td>
    <div class="form-group">
    @Html.EditorFor(m => m["DropDownList1"], "DropDownListField", new
    {
    items = new List<SelectListItem>() {
    new SelectListItem() { Text = "Položka 1", Value = "Položka 1" },
    new SelectListItem() { Text = "Položka 2", Value = "Položka 2" },
    new SelectListItem() { Text = "Položka 3", Value = "Položka 3" } },
    label = "Vyberte ..."
    }) </div>
    <td class="form_label">
    <asp:Localize ID="Localize5" runat="server" Text="Vyberte datum ..."/>
    </td>
    <td class="form_value">
    <asp:Label ID="Label4" runat="server" Text="Datum"/>:
    <br />
    <asp:Calendar ID="Calendar" runat="server"/>
    </td>
    <div class="form-group">
    @Html.ValidationMessage("[Calendar]")
    @Html.EditorFor(m => m["Calendar"], "DateTimeField", new { help = "Vyberte datum ...", dateOnly = true, label="Datum" })
    </div>
    <td class="form_label">
    <asp:Localize ID="Localize6" runat="server" Text="Vyberte ..." />
    </td>
    <td class="form_value">
    <asp:Label ID="Label5" runat="server" Text="Volba 2" />:<br />
    <asp:RadioButtonList ID="RadioButtonList1" runat="server">
    <asp:ListItem Text="Popis položky 1" Value="Položka 1" />
    <asp:ListItem Text="Popis položky 2" Value="Položka 2" />
    <asp:ListItem Text="Popis položky 3" Value="Položka 3" />
    </asp:RadioButtonList>
    </td>
    <div class="form-group">
    @Html.Editor("RadioButtonList1", "RadioButtonList", new
    {
    items = new List<SelectListItem>() {
    new SelectListItem() { Text = "Popis položky 1", Value = "Položka 1" },
    new SelectListItem() { Text = "Popis položky 2", Value = "Položka 2" },
    new SelectListItem() { Text = "Popis položky 3", Value = "Položka 3" } },
    label = "Vyberte ...",
    }) </div>
    <td class="form_label">
    <asp:Localize ID="Localize7" runat="server" Text="Vyberte ..." />
    </td>
    <td class="form_value">
    <asp:Label ID="Label6" runat="server" Text="Volba 3" />:<br />
    <asp:CheckBoxList ID="CheckBoxList1" runat="server">
    <asp:ListItem Text="Výběr 1" Value="Výběr 1" />
    <asp:ListItem Text="Výběr 2" Value="Výběr 2" />
    <asp:ListItem Text="Výběr 3" Value="Výběr 3" />
    </asp:CheckBoxList>
    </td>
    <div class="form-group">
    @Html.EditorFor(m => m["CheckBoxList1"], "CheckBoxList", new
    {
    items = new List<SelectListItem>() {
    new SelectListItem() { Text = "Výběr 1", Value = "Položka 1"},
    new SelectListItem() { Text = "Výběr 2", Value = "Položka 2" },
    new SelectListItem() { Text = "Výběr 3", Value = "Položka 3" } },
    label = "Vyberte ...",
    required= true
    }) </div>
    <alvao:ColumnsControl ID="ColumnsControl0" runat="server" /> @Html.EditorFor(m => m.ColumnsControl["ColumnsControl0"], "ColumnsControl", new { })

Převod kódu v souboru aspx.cs do cs

Pro převod jako základ použijte soubor Custom/Templates/Empty.cs. Změňte namespace a název třídy podle názvu souboru .cshml, viz. Příprava nového formuláře

Obsahuje 2 funkce – Process a ConfigControls, které mají stejný význam jako v aspx.cs souboru. Změnil se přístup k hodnotám formuláře:

Přístup k hodnotě v aspx.cs Přistup k hodnotě v cs Poznámky
NameTextBox.Text Model.NameTextBox.Value Hodnota zadána do klasického vstupního pole.
CheckBox1.Checked Model.CheckBox1.Value Hodnota zaškrtávacího pole.
CheckBoxList1.Items Model.CheckBoxList1.Value V ALVAO 8 je možné přistupovat pouze k zaškrtnutým položkám.
RadioButtonList1.SelectedItem Model.RadioButtonList1.Value Hodnota zvolené volby.
DropDown.SelectedItem Model.DropDown.Value Hodnota zvolené volby. Pozor, ne text.

Také se změnilo použití funkce AppendRequiredColumns, místo AppendRequiredColumns("Helpdesk", ColumnsControl0) použijte AppendRequiredColumns("Helpdesk", "ColumnsControl0");

Funkce ConfigControls

Ve funkci ConfigControls je potřeba ovládací prvky nejprve inicializovat a až poté jim nastavit hodnoty. Např. pro nastavení sekce pro prvek HdSection:

var HdSection1 = InitControl(typeof(HdSection), "HdSection1");
HdSection1.SectionId = 2;

Inicializace ostatních prvků:
Typ ovládacího prvku Inicializace Poznámky
Textové pole/DropDownList InitControl(typeof(string), "Text") Pro DropDownList musí být "Text" z výběru Value 
Číselné pole InitControl(typeof(int), "Number")
Pole s desetinným číslem InitControl(typeof(double), "Float")
Datum InitControl(typeof(DateTime), "Float")
Zaškrtávací pole InitControl(typeof(bool), "Check")
ColumnsControl InitControl(typeof(ColumnsControl), "ColumnsControl0")
Přílohy InitControl(typeof(Models.AttachmentsModel), "Attachments1")
RadioButtonList InitControl(typeof(RadioButtonListControl), "RadioButtonList1")
CheckBoxList InitControl(typeof(CheckBoxListControl), "CheckBoxList1")

 

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