|
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.
%USERPROFILE%\Documents\ALVAO\Doc\Documentation\doc\cs\alvao_8_0\alvao_asset_management\implementation\upgrade\custom_forms.aspx
|
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.
|