Ana içeriğe geç

Sorgu

Query bileşeni, belirtilen veri kaynaklarından verileri alır ve sonuçlarla veri modelini doldurur.

XML Alanları

  • XPath geçerli form verisi bağlamını belirler. TargetXPath seçilen sorgu sonuçlarının nereye yazılacağını tanımlar.
  • AutoSearch izlenen veri kaynakları değiştiğinde sorguyu çalıştırır. ShowFilter yapılandırılan Filter denetimlerin görünür olup olmadığını denetler.
  • AutoSelectAll seçim iletişim kutusu olmadan döndürülen tüm satırları yazar. ClearFirst yazmadan önce hedefi temizler; aksi durumda yeni satırlar eklenir.
  • ValidationGroup elle aramadan önce denetlenen doğrulama grubunu seçer.
  • Filter sorgu parametrelerini toplamak için kullanılan girdi bileşenlerini içerir. DataSources sonuç kümesini sağlayan kaynakları içerir. Bir veri kaynağı, seçim iletişim kutusunda görüntülenen sonuç sütunlarını da tanımlayabilir.
  • RowScript/Content eklenen her satır için çalıştırılan isteğe bağlı JavaScript'tir. Rules koşullu form davranışını içerir.

TargetXPath ve RowScript öznitelik değil alt öğelerdir. Hedefin sonuç satırlarının yapısıyla uyumlu olmasını sağlayın; temizleme veya ekleme işlemi yalnızca bu hedefi etkiler.

Veri Modeli Eşlemesi

TargetXPath özelliği, sorgu sonuçlarının veri modelinde nereye yazılacağını belirler.

  • Dizi Hedefi: Hedef XPath bir dizi türündeki öğeyi gösteriyorsa sorgu sonuçlarındaki her satır, bu dizinin içinde yeni bir düğüm oluşturur.
  • Tek Düğüm Hedefi: Hedef XPath tek bir düğümü gösteriyorsa, sorgu sonuçları yazılmadan önce o konumdaki mevcut veriler temizlenir.

Filtre Paneli

Filtre paneli, sorgu parametrelerinin tanımlanmasına olanak tanır. Bu parametreler veri modeli öğeleriyle eşlenir ve sonuçları filtrelemek üzere veri kaynağına aktarılır.

  • AutoSearch: Filtre değerleri değiştiğinde sorgunun otomatik olarak yürütülüp yürütülmeyeceğini denetler (true) ya da arama düğmesiyle manuel olarak çalıştırılmasını gerektirir (false).
  • ShowFilter: Filtre panelinin görünürlüğünü denetler. Paneli gizlemek için false olarak ayarlayın.

Sonuç Seçimi

  • AutoSelectAll: Eğer trueise, tüm sorgu sonuçları otomatik olarak veri modeline eklenir. Eğer falseise, kullanıcının eklenecek belirli satırları seçmesine olanak tanıyan bir modal iletişim kutusu görüntülenir.

Veri Temizleme

  • ClearFirst: Eğer trueise, sorgu sonuçlarıyla doldurulmadan önce hedef veri modeli öğesi temizlenir. Eğer falseise, sonuçlar eklenir.

Kural Motoru Entegrasyonu

Sorgu widget'ı kurallarını destekler::

  • Biçimlendirme Kuralları: Bir biçimlendirme kuralı widget'ı devre dışı bıraktığında widget gizlenir ve veri modeli doldurulmaz.
  • Doğrulama Kuralları: Doğrulama kuralları, arama düğmesine tıklandığında yürütülür. Doğrulamanın başarısız olması sorgunun yürütülmesini engeller ve bir hata mesajı görüntüler.

Veri Kaynakları

Sorgu widget'ı birden çok veri kaynağını kullanabilir ve sonuçları tek bir sonuç kümesinde birleştirebilir. Ayrıntılar için Veri Kaynakları sayfasına bakın.

Sonuç Sütunu Şablonları

Sonuç sütunu şablonları doğrudan widget'a değil, veri kaynağına aittir. Query widget'ı için TableDataSourceşablonu kaynak sorgunun Columns/Column/Template öğesinde tanımlayın. Seçim iletişim kutusu, sütunu görüntülemeden önce her sonuç satırı için bu şablonu değerlendirir.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
<DataSources>
    <TableDataSource TextFormat="{{Name}}" ValueFormat="{{Id}}" Enabled="True">
        <Mappings />
        <Query>
            <Parameters>
                <TargetSchema Type="System.String"><![CDATA[CRM]]></TargetSchema>
                <TargetTable Type="System.String"><![CDATA[Customer]]></TargetTable>
            </Parameters>
            <Columns>
                <Column Name="Id" />
                <Column Name="Name" />
                <Column Name="PhotoUrl">
                    <Template><![CDATA[<img height="50" src="{{PhotoUrl}}" alt="{{Name}}" />]]></Template>
                </Column>
            </Columns>
        </Query>
    </TableDataSource>
</DataSources>

Bu örnekte PhotoUrl sütunu, Sorgu sonuç listesinde resim olarak görüntülenir. Şablon çıktısını görüntüleme içeriği olarak değerlendirin ve yalnızca formun güvenlik bağlamına uygun değerleri kullanın.

Satır Komut Dizisi

Satır komut dizisi, sorgu sonuçlarındaki her satır için özel JavaScript kodu yürütmeye olanak tanır. Bu komut dizisi geçerli satırı ($Row) ve veri modeline eklenecek yeni alt düğümü ($NewChild) parametre olarak alır.

Örnekler

Örnek 1: Temel Sorgu

1
2
3
4
5
6
7
<Query XPath="" AutoSearch="False" AutoSelectAll="False" ShowFilter="True" ClearFirst="False" ValidationGroup="">
    <TargetXPath><![CDATA[List/User]]></TargetXPath>
    <Filter />
    <DataSources />
    <RowScript><Content><![CDATA[]]></Content></RowScript>
    <Rules />
</Query>

Örnek 2: Filtre Paneli

1
2
3
4
5
6
7
<Query XPath="" AutoSearch="False" AutoSelectAll="False" ShowFilter="True" ClearFirst="False" ValidationGroup="">
    <TargetXPath><![CDATA[List/User]]></TargetXPath>
    <Filter>...</Filter>
    <DataSources />
    <RowScript><Content><![CDATA[]]></Content></RowScript>
    <Rules />
</Query>