Ana içeriğe geç

Query

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ı belirtir.
  • AutoSearch izlenen veri kaynakları değiştiğinde sorguyu çalıştırır. ShowFilter yapılandırılmış Filter denetim öğelerinin görünür olup olmadığını belirler.
  • 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 sona eklenir.
  • ValidationGroup elle arama yapılmadan önce denetlenen doğrulama grubunu seçer.
  • Filter sorgu parametrelerini toplamak için kullanılan giriş bileşenlerini içerir. DataSources sonuç kümesini sağlayan kaynakları içerir. Veri kaynağı, seçim iletişim kutusunda görüntülenecek sonuç sütunlarını da tanımlayabilir.
  • RowScript/Content eklenen her satır için çalıştırılan isteğe bağlı JavaScript kodudur. Rules koşullu form davranışını barındırır.

TargetXPath ve RowScript öznitelik değil alt öğedir. Hedefi sonuç satırlarının yapısıyla uyumlu tutun; temizleme veya sona ekleme yalnızca bu hedefi etkiler.

Veri Modeli Eşlemesi

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

  • Dizi Hedefi: Hedef XPath bir dizi türü öğeye işaret ediyorsa sorgu sonuçlarındaki her satır bu dizi içinde yeni bir düğüm oluşturur.
  • Tek Düğüm Hedefi: Hedef XPath tek bir düğüme işaret ediyorsa sorgu sonuçları yazılmadan önce bu konumdaki mevcut veriler temizlenir.

Filtre Paneli

Filtre paneli, sorgu parametrelerinin tanımlanmasına olanak tanır. Bu parametreler veri modeli öğeleriyle eşleştirilir ve sonuçları filtrelemesi için veri kaynağına iletilir.

  • AutoSearch: Filtre değerleri değiştiğinde sorgunun otomatik olarak yürütülüp yürütülmeyeceğini (true) veya bir arama düğmesiyle elle çalıştırılmasının gerekip gerekmediğini (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 kalıcı iletişim kutusu görüntülenir.

Verileri Temizleme

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

Kural Motoru Entegrasyonu

Query bileşeni şu kuralları:

  • Biçimlendirme Kuralları: Biçimlendirme kuralı bileşeni devre dışı bıraktığında bileşen gizlenir ve veri modeli doldurulmaz.
  • Doğrulama Kuralları: Doğrulama kuralları arama düğmesine tıklandığında yürütülür. Doğrulama başarısız olursa sorgu çalıştırılmaz ve bir hata iletisi görüntülenir.

Veri Kaynakları

Query bileşeni birden fazla veri kaynağı kullanarak sonuçları tek bir sonuç kümesinde birleştirebilir. Ayrıntılar için Veri Kaynakları bölümüne bakın.

Sonuç Sütunu Şablonları

Sonuç sütunu şablonları doğrudan Query bileşenine değil, veri kaynağına aittir. Bir TableDataSourceiçin şablonu kaynak sorgusunun Columns/Column/Template öğesinde tanımlayın. Seçim iletişim kutusu, sütunu görüntülemeden önce bu şablonu her sonuç satırı için 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 Query sonuç listesinde görüntü olarak oluşturulur. Ş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 Betiği

Satır betiği, sorgu sonuçlarındaki her satır için özel JavaScript kodu çalıştırmaya olanak tanır. Bu betik 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>