Ana içeriğe geç

DataTable

DataTable bileşeni, büyük veri kümelerini görüntülemek için optimize edilmiş tablo biçiminde bir arayüz sunar. Satır düzenleyicileri aracılığıyla sınırlı veri girişi olanağı sağlasa da temel işlevi verileri verimli biçimde görselleştirmektir. Büyük miktarda veriyi işlerken TableContent bileşeninden önemli ölçüde daha verimlidir.

XML Alanları

Koleksiyon ve Satır Seçimi

  • XPath Form verilerindeki koleksiyon bağlamını seçer. ItemXPath Bu bağlamın altında satır olarak görüntülenecek öğeleri seçer; normalde * her doğrudan alt öğe bir satır olduğunda kullanılır.
  • RowIdXPath Bir satırı kararlı bir değerle tanımlar. Düzenlemeler, içe aktarmalar veya yenilemeler arasında satırların kalıcı bir kimliğe sahip olması gerektiğinde yapılandırın.
  • FilterXPath Görüntülenen satırları kısıtlayan bir ifadedir. SortXPath Sıralama ifadesidir. Tüm satırların belge sırasına göre gösterilmesi gerekiyorsa ikisini de boş bırakın.
  • ItemsRootXPath Bileşen bağlamı ile satır koleksiyonu aynı öğe olmadığında farklı bir koleksiyon kökü seçer.

Satır Komutları ve Boş Durum

  • AllowNewXPath, AllowDeleteXPath, AllowDeleteAllXPath, AllowMovingXPath, ve AllowMoveUpDownXPath ilgili aksiyonun kullanılabilir olup olmadığını belirler. Her birini geçerli form veya satır için Boole değeri döndüren bir ifadeye yönlendirin.
  • AddNewLabel Satır ekleme aksiyonu için görüntülenen başlıktır. ShowBlankSlate boş liste deneyimini etkinleştirir; BlankSlate bu durumda görüntülenecek denetimleri içerir.
  • MonitoredXPaths değiştiğinde tabloyu yenilemesi gereken veri yollarını listeler. Satır filtresi, sıralama düzeni veya aksiyon izni başka bir form değerine bağlıysa kullanın.

Sütunlar ve Düzenleme

  • Her Columns/Column satır değerini seçmek için XPath kullanır. Type veri türünü display/editor denetler; görüntülenen hizalamayı ise Align denetler. Label, Template, ve Footer sütun başlığını, hücre çıktısını ve altbilgi çıktısını tanımlar.
  • Editor Tek bir satırı düzenlemek için kullanılan denetimleri içerir. RowRules bir satıra koşullu biçimlendirme veya doğrulama uygular; RowScript bir satırı başlatır veya düzenler; DataExchange içe ve dışa aktarma sütunlarını yapılandırır.

Temel Özellikler

  • Büyük veri kümeleri için yüksek performanslı veri görüntüleme; şu bileşenden daha iyi performans gösterir: TableContent.
  • Sınırlı veri girişi işlevselliği; öncelikli olarak verileri görüntülemek üzere tasarlanmıştır.
  • Yukarıda açıklanan XML alanları aracılığıyla satır düzeyinde kuralları ve satır komut dizilerini destekler.
  • Tablo import/export işlevselliği.

Veri Modeli

DataTable bileşeni, dizi türünde bir veri modeli kullanır. Tablodaki her satır, satır verilerini içeren bu veri modeli içinde yeni bir öğe olarak temsil edilir.

Tablo Sütunları

Sütunlar, verileri belirli bir biçimde görüntülemek için veri şablonlarını kullanır. Her sütun, verilerin sunuluş biçimini etkileyen bir veri türüyle tanımlanır. Sütun başlıkları ve altbilgileri de hesaplanan değerler için veri şablonlarını destekler.

Sütun şablonu belirtilmediğinde, uygun şablonu belirlemek için sütunun veri türü kullanılır.

Benzersiz Satır Kimlikleri

Her satır için benzersiz kimlikleri otomatik olarak oluşturmak üzere, şu özellik aracılığıyla bir XPath ifadesi belirtin: RowIdXPath özellik. Benzersiz bir tanımlayıcı oluşturmak için bu ifade her satırda değerlendirilir.

Veri Alışverişi

DataTable, verilerin XLSx biçiminde içe ve dışa aktarılmasını destekler. Verilerin düzeni şu özellik aracılığıyla belirtilir: Columns özellik. Dışa aktarma varsayılan olarak etkin, içe aktarma ise devre dışıdır. Şu özelliği ayarlamanız gerekebilir: AllowImport özelliği True kullanıcıların veri içe aktarmasına izin vermek istiyorsanız.

İçe ve dışa aktarma düzeni şu özellik aracılığıyla belirtilir: Columns özellik. Her sütunda, sütun başlığını belirleyen bir Caption özelliği bulunur. XPath özelliği, sütunun veri kaynağını belirler. Type özelliği, verilerin nasıl içe ve dışa aktarılacağını belirler. Türler şunlardır:

  • Metin
  • Sayı
  • TarihSaat

Satır Düzenleyicisi

DataTable içindeki her satırın, kalıcı iletişim kutusu aracılığıyla erişilebilen bir düzenleyici bölmesi vardır. Bu, kullanıcıların satır verilerini ayrı ve odaklanmış bir arayüzde düzenlemesini sağlar.

Örnek

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<DataTable RequiredForGroup="save" ShowBlankSlate="True" XPath="DynamicList">
    <Rules/>
    <ItemXPath><![CDATA[*]]></ItemXPath>
    <RowIdXPath><![CDATA[]]></RowIdXPath>
    <FilterXPath><![CDATA[]]></FilterXPath>
    <SortXPath><![CDATA[]]></SortXPath>
    <ItemsRootXPath><![CDATA[]]></ItemsRootXPath>
    <AllowMovingXPath><![CDATA[]]></AllowMovingXPath>
    <AllowMoveUpDownXPath><![CDATA[]]></AllowMoveUpDownXPath>
    <AllowNewXPath><![CDATA[]]></AllowNewXPath>
    <AllowDeleteXPath><![CDATA[]]></AllowDeleteXPath>
    <AllowDeleteAllXPath><![CDATA[0]]></AllowDeleteAllXPath>
    <AddNewLabel>
        <Content><![CDATA[Add New Row]]></Content>
    </AddNewLabel>
    <MonitoredXPaths />
    <BlankSlate />
    <RowScript>
        <Content><![CDATA[]]></Content>
    </RowScript>
    <DataExchange AllowImport="False" AllowExport="True">
        <Columns>
            <Column Caption="Text" Type="Text">
                <XPath><![CDATA[Text]]></XPath>
            </Column>
            <Column Caption="Number" Type="Number">
                <XPath><![CDATA[Number]]></XPath>
            </Column>
            <Column Caption="Date" Type="DateTime">
                <XPath><![CDATA[Date]]></XPath>
            </Column>
        </Columns>
    </DataExchange>
    <RowRules/>
    <Columns>
        <Column Align="Left" Type="Text" XPath="Text">
            <Label>
                <Content><![CDATA[Text Header]]></Content>
            </Label>
            <Template><![CDATA[]]></Template>
            <Footer>
                <Content><![CDATA[Footer]]></Content>
            </Footer>
        </Column>
        <Column Align="Left" Type="Number" XPath="Number">
            <Label>
                <Content><![CDATA[Number Header]]></Content>
            </Label>
            <Template><![CDATA[]]></Template>
            <Footer>
                <Content><![CDATA[Number Footer {{sum(*/Number)}} ]]></Content>
            </Footer>
        </Column>
        <Column Align="Left" Type="Date" XPath="Date">
            <Label>
                <Content><![CDATA[Date Header]]></Content>
            </Label>
            <Template><![CDATA[]]></Template>
            <Footer>
                <Content><![CDATA[Date Footer]]></Content>
            </Footer>
        </Column>
    </Columns>
    <Editor>
        <RowContent Type="Field" Collapsing="None" FitHeight="False">
            <Rules/>
            <Label>
                <Content><![CDATA[Text]]></Content>
            </Label>
            <Columns>
                <Column>
                    <Controls>
                        <TextBox XPath="Text" MaxLength="255" InputMask="" Type="Text" Size="Medium" RequiredForGroup="">
                            <PlaceHolder><![CDATA[]]></PlaceHolder>
                            <Hints><![CDATA[]]></Hints>
                            <Rules />
                        </TextBox>
                    </Controls>
                </Column>
            </Columns>
        </RowContent>
    </Editor>
</DataTable>