Performs relational database queries on domain database.
XPath
XPath of data model to bind control. If not set uses current node on data model.
Validation Group
Name of validation group rules before executing query. When any rule is failed, error is shown on screen and query is not executed.
Section Name
Section name to control visibility of control.
Auto Search
Specifies the query control should perform search immediately when visible. Visibility of control can be controlled by Rules or Section Name properties. When this attribute set to True value Filter content is not visible.
Clear First
Specifies the before query results populated on data model all existing records are removed.
Target XPath
Specifies the xpath of target container node to import query results. Specified xpath is relative to parent of current node not XPath attribute.
For example, use "Filter" node for XPath attribute and use "Results" xpath for TargetXPath attribute.
<Data> <Filter> <SearchField /> </Filter> <Results> <Row> <Column /> </Row> </Results> </Data>
Query Syntax
Relational database queries uses special markup to specify query to execute. Query structure is similar to SQL Select command but you may use sub queries and join clauses automatically handled.
Query Structure
<Query
Start="0"
Start index of results to fetch.
MaxLength="-1">
Maximum number of results to fetch.
<Parameters>
Query parameters.
<TargetSchema>MySchema</TargetSchema>
Name of schema of query target.
<TargetTable>MyTable</TargetTable>
Name of table of query target.
</Parameters>
<Columns>
List of columns to include in results.
<Column
Column definition. Any number of column can be specified.
Name=""
Name of column or relation path. Please see Column Name for more information.
Formula="None">
Aggregation formula like count, max etc. Please see Aggregation for more information.
<Properties>
Column specific properties. Currently
<XPath></XPath>
XPath of column value mapping for rows. If not specified column name is used.
<Language></Language>
By default all columns are automatically localized by user language but with this property you can ask for explicitly specify the language. If language is not available, original column value is used.
</Properties>
</Column>
<Column></Column>
<Column></Column>
</Columns>
<Where
Condition="And">
<Criteria>
<Criteria
Name=""
Comparison=""
Condition=""
Formula="">
<Value></Value>
<Properties>
<IgnoreIfEquals>MyValue</IgnoreIfEquals>
</Properties>
</Criteria>
<Criteria> ............ </Criteria>
</Criteria>
<Blocks>
<Block Condition="And">
<Criteria>
<Criteria> ............ </Criteria>
</Criteria>
</Block>
</Blocks>
</Where>
<Order/>
<SubQueries>
<Query Name="">
</Query>
</SubQueries>
</Query>
This control allows you to query your emakin based relational databases and map them with your form data.
Here are samples;
Simple sample 1:
<Query Name="" Start="0" MaxLength="-1">
<Parameters>
<TargetSchema Type="System.String, mscorlib"><![CDATA[Masraf]]></TargetSchema>
<TargetTable Type="System.String, mscorlib"><![CDATA[MasrafTipiGrubu]]></TargetTable>
</Parameters>
<Columns>
<Column Name="Kod" Formula="None">
</Column>
<Column Name="Text" Formula="None">
</Column>
</Columns>
<Where Condition="And"/>
<Order>
<Order Name="Text" Type="Ascending"/>
</Order>
<SubQueries/>
</Query>
Simple sample 2:
<Query Name="" Start="0" MaxLength="-1">
<Parameters>
<TargetSchema Type="System.String, mscorlib"><![CDATA[Masraf]]></TargetSchema>
<TargetTable Type="System.String, mscorlib"><![CDATA[MasrafTipi]]></TargetTable>
</Parameters>
<Columns>
<Column Name="Kod" Formula="None">
</Column>
<Column Name="Text" Formula="None">
</Column>
</Columns>
<Where Condition="And">
<Criteria>
<Criteria Name="GrupKodu" Comparison="Equals" Condition="And" Formula="None">
<Value Type="System.String, mscorlib"><![CDATA[{{MasrafTipiGrubu}}]]></Value>
</Criteria>
</Criteria>
</Where>
<Order>
<Order Name="Text" Type="Ascending"/></Order>
<SubQueries/>
</Query>
Advance sample:
<Query Name="" Start="0" MaxLength="-1">
<Parameters>
<TargetSchema Type="System.String, mscorlib"><![CDATA[HR]]></TargetSchema>
<TargetTable Type="System.String, mscorlib"><![CDATA[Ucretler]]></TargetTable>
</Parameters>
<Columns>
<Column Name="Person.Id">
<Properties>
<XPath Type="System.String, mscorlib"><![CDATA[Person/PersonId]]></XPath>
</Properties>
</Column>
<Column Name="Person.DisplayName">
<Properties>
<Caption Type="System.String, mscorlib"><![CDATA[Ad Soyad]]></Caption>
<XPath Type="System.String, mscorlib"><![CDATA[Person/AdSoyad]]></XPath>
</Properties>
</Column>
<Column Name="Durum.Tip">
<Properties>
<XPath Type="System.String, mscorlib"><![CDATA[Durum/Tip]]></XPath>
</Properties>
</Column>
<Column Name="Durum.Ad">
<Properties>
<XPath Type="System.String, mscorlib"><![CDATA[Durum/Ad]]></XPath>
</Properties>
</Column>
<Column Name="ProjePersonel.HizmetTipi.AltProje.Proje.Bolge">
<Properties>
<Caption Type="System.String, mscorlib"><![CDATA[Bölge]]></Caption>
</Properties>
</Column>
<Column Name="ProjePersonel.HizmetTipi.AltProje.Proje.Ad">
<Properties>
<Caption Type="System.String, mscorlib"><![CDATA[Proje]]></Caption>
<XPath Type="System.String, mscorlib"><![CDATA[Person/Proje]]></XPath>
</Properties>
</Column>
<Column Name="ProjePersonel.HizmetTipi.AltProje.Ad">
<Properties>
<Caption Type="System.String, mscorlib"><![CDATA[Alt Proje]]></Caption>
<XPath Type="System.String, mscorlib"><![CDATA[Person/AltProje]]></XPath>
</Properties>
</Column>
<Column Name="ProjePersonel.HizmetTipi.Ad">
<Properties>
<Caption Type="System.String, mscorlib"><![CDATA[Hizmet Tipi]]></Caption>
<XPath Type="System.String, mscorlib"><![CDATA[Person/HizmetTipi]]></XPath>
</Properties>
</Column>
<Column Name="Employee.Organization.Code">
<Properties>
<XPath Type="System.String, mscorlib"><![CDATA[Person/SirketKod]]></XPath>
</Properties>
</Column>
</Columns>
<Where Condition="And">
<Blocks>
<Block Condition="And">
<Criteria>
<Criteria Name="Parent.Durum" Comparison="Equals" Condition="Or">
<Value Type="System.String, mscorlib"><![CDATA[2]]></Value>
</Criteria>
<Criteria Name="Parent.Durum" Comparison="Equals" Condition="Or">
<Value Type="System.String, mscorlib"><![CDATA[]]></Value>
</Criteria>
</Criteria>
</Block>
<Block Condition="And">
<Criteria>
<Criteria Name="Durum" Comparison="Equals" Condition="And">
<Value Type="System.String, mscorlib"><![CDATA[1]]></Value>
</Criteria>
<Criteria Name="Brut" Comparison="GreaterThanOrEqualTo" Condition="And">
<Value Type="System.String, mscorlib"><![CDATA[{{Ucret/UcretKucuk}}]]></Value>
<Properties>
<IgnoreIfEquals Type="System.String, mscorlib"><![CDATA[0]]></IgnoreIfEquals>
</Properties>
</Criteria>
<Criteria Name="Brut" Comparison="LessThanOrEqualTo" Condition="And">
<Value Type="System.String, mscorlib"><![CDATA[{{Ucret/UcretBuyuk}}]]></Value>
<Properties>
<IgnoreIfEquals Type="System.String, mscorlib"><![CDATA[99999]]></IgnoreIfEquals>
</Properties>
</Criteria>
<Criteria Name="OdemeTipi" Comparison="Equals" Condition="And">
<Value Type="System.String, mscorlib"><![CDATA[{{OdemeTipi}}]]></Value>
<Properties>
<IgnoreIfEquals Type="System.String, mscorlib"><![CDATA[]]></IgnoreIfEquals>
</Properties>
</Criteria>
<Criteria Name="HesaplamaTipi" Comparison="Equals" Condition="And">
<Value Type="System.String, mscorlib"><![CDATA[{{HesaplamaTipi}}]]></Value>
<Properties>
<IgnoreIfEquals Type="System.String, mscorlib"><![CDATA[]]></IgnoreIfEquals>
</Properties>
</Criteria>
<Criteria Name="Employee.Positions.OrganizationUnitPosition.Position.Id" Comparison="Equals" Condition="And">
<Value Type="System.String, mscorlib"><![CDATA[{{Pozisyon}}]]></Value>
<Properties>
<IgnoreIfEquals Type="System.String, mscorlib"><![CDATA[]]></IgnoreIfEquals>
</Properties>
</Criteria>
<Criteria Name="ProjePersonel.HizmetTipi.AltProje.Proje.Sirket" Comparison="Equals" Condition="And">
<Value Type="System.String, mscorlib"><![CDATA[{{Sirket/Kod}}]]></Value>
<Properties>
<IgnoreIfEquals Type="System.String, mscorlib"><![CDATA[]]></IgnoreIfEquals>
</Properties>
</Criteria>
<Criteria Name="ProjePersonel.HizmetTipi.AltProje.Proje.Id" Comparison="Equals" Condition="And">
<Value Type="System.String, mscorlib"><![CDATA[{{Proje/Id}}]]></Value>
<Properties>
<IgnoreIfEquals Type="System.String, mscorlib"><![CDATA[]]></IgnoreIfEquals>
</Properties>
</Criteria>
<Criteria Name="ProjePersonel.HizmetTipi.AltProje.Id" Comparison="Equals" Condition="And">
<Value Type="System.String, mscorlib"><![CDATA[{{AltProje/Id}}]]></Value>
<Properties>
<IgnoreIfEquals Type="System.String, mscorlib"><![CDATA[]]></IgnoreIfEquals>
</Properties>
</Criteria>
<Criteria Name="ProjePersonel.HizmetTipi.Id" Comparison="Equals" Condition="And">
<Value Type="System.String, mscorlib"><![CDATA[{{HizmetTipi/Id}}]]></Value>
<Properties>
<IgnoreIfEquals Type="System.String, mscorlib"><![CDATA[]]></IgnoreIfEquals>
</Properties>
</Criteria>
<Criteria Name="Employee.RegistryNumber" Comparison="Equals" Condition="And">
<Value Type="System.String, mscorlib"><![CDATA[{{SicilNo}}]]></Value>
<Properties>
<IgnoreIfEquals Type="System.String, mscorlib"><![CDATA[]]></IgnoreIfEquals>
</Properties>
</Criteria>
</Criteria>
</Block>
</Blocks>
</Where>
<Order>
<Order Name="Person.DisplayName" Type="Ascending"/></Order>
<SubQueries/>
</Query>