Subformulář

Atribut Možné hodnoty Popis Defaultní hodnota

IsImmediatelySave

true

hodnota „true“ zajistí okamžité uložení tj. není nutné používat tlačítko Ulož

IsShowList

true, false

Pokud je false nebude zobrazen výpis Deufaltně je true

IsCreateButton

true, false

Pokud je false nebude zobrazeno tlačítko při vytvoření nového záznamu Defaultně je true

IsDependencyOnParent

true, false

Říká, že daný subform je závyslý na parentovy. Defaultně je true

CreateButtonTitle

text

Možnost definovat text pro tlačítko přidat

CreateButtonTitleResrouceKey

text

Možnost definovat text pro tlačítko přidat

Subformulář

Pokud chceme umožnit editaci dat 1:N tj. navázat na hlavní formulář další data, je možné vytvořit subformulář.
Subformulář je definován obdobně jako klasický formulář, pouze v hlavičce je uvedneo, že jde o subforulář IsSubForm="true". Formulář jako takový pak musí obsahovat povinná pole:
  • TableID – do tohoto pole, bude uloženo ID hlavního formuláře
  • FormIdent – název hlavního formuláře 
<Control xsi:type="HiddenControl" Ident="TableID" DataType="Number" IsRequired="true"></Control>
<Control xsi:type="HiddenControl" Ident="FormIdent" DataType="String" MaxLength="100" IsRequired="true"></Control>


Následně do formuláře, kde má být daný formulář použitý, je nutné vložit control SubFormControl

<Control xsi:type="SubFormControl" Ident="SubFormTerm" Title="SubFormTerm" FormIdent="PriorityTypeTerm" InsertButtonIdent="Save" DeleteButtonIdent="Delete"UpdateButtonIdent="Save" >
  <DataSource>
   <Columns>
    <Column Ident="ID" Title="ID" IsPrimaryKey="true" IsVisible="false" ></Column>
    <Column Ident="Name" Title="Name" Width="25" ></Column>
    <Column Ident="Address" Title="Address" Width="25"></Column>
    <Column Ident="Active" Title="Active" Width="15"></Column>
    <Column Ident="Note" Title="Note" Width="25"></Column>
    <Column xsi:type="DeleteColumn" Ident="ID" Title="Akce" Width="10"></Column>
   </Columns>
   <SQL>
    SELECT ID, Name, Address, Active, Note FROM usr.PriorityTypeTerm WHERE State = @State AND TableID = @ID AND FormIdent = @FormIdent
   </SQL>
   <Parameters>
    <dsp:Parameter xsi:type="dsp:VariableParameter" Ident="ID" DataType="Number" ></dsp:Parameter>
    <dsp:Parameter xsi:type="dsp:ValueParameter" Ident="FormIdent" Value="PriorityType" DataType="String" MaxLength="100" ></dsp:Parameter>
    <dsp:Parameter xsi:type="dsp:ValueParameter" Ident="State" Value="2" DataType="Number"></dsp:Parameter>
   </Parameters>
  </DataSource>
 </Control>


FormIdent - Ident formuláře, který se tam má dočítat
InsertButtonIndet - Tlačítko pro vložení nového záznamu vydefinované na SubFormuláři
UpdateButtonIdent - Tlačítko pro update záznamu vydefinované na SubFormuláři
DeleteButtonIdent - Tlačítko pro smazázní záznamu vydefinovaného na SubFormuláři
DataSource – datový zdroj sunformuláře, ten určuje, jaké řádky se budou zobrazovat v daném controlu ID záznamu, což je povinné.
 
 
 
Je potřeba, aby DataSource obsahoval stejné sloupečky (nazvy), jako jsou controly ve formu, aby se pak doplňovali hodnoty do výpisu.
V rámci výpisu je možné zajistit i řazení a to využtím parametru IsDefaultSort="true" SortType="ASC" v rámci definice sloupce. Například takto:

<Column Ident="Name" Title="Name" Width="25" IsDefaultSort="true" SortType="ASC" ></Column>​
 
Atribut Možné hodnoty Popis Defaultní hodnota

FormIdent

Ident formuláře, který se tam má dočítat

InsertButtonIndet

Tlačítko pro vložení nového záznamu vydefinované na SubFormuláři

UpdateButtonIdent

Tlačítko pro update záznamu vydefinované na SubFormuláři

DeleteButtonIdent

Tlačítko pro smazázní záznamu vydefinovaného na SubFormuláři

DataSource

datový zdroj sunformuláře, ten určuje, jaké řádky se budou zobrazovat v daném controlu ID záznamu, což je povinné