Ana içeriğe geç

DataTable

DataTable widget'ı, 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şleme konusunda TableContent widget'ından çok 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; genellikle * tüm doğrudan alt öğeler bir satır olduğunda kullanılır.
  • RowIdXPath bir satırı sabit 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ülenecek satırları kısıtlayan bir ifadedir. SortXPath sıralama ifadesidir. Tüm satırların belge sırasıyla gösterilmesi gerekiyorsa bu alanlardan birini boş bırakın.
  • ItemsRootXPath widget 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, AllowMovingXPathve AllowMoveUpDownXPath ilgili komutun kullanılabilir olup olmadığını belirler. Her birini geçerli form veya satır için Boole değeri veren bir ifadeye yönlendirin.
  • AddNewLabel satır ekleme eylemi 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 tablonun yenilenmesi gereken veri yollarını listeler. Satır filtresi, sıralama düzeni veya komut izni başka bir form değerine bağlı olduğunda 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; Align görüntülenen hizalamayı denetler. Label, Templateve 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; TableContent'ten.
  • Sınırlı veri girişi işlevi; ö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 betiklerini destekler.
  • Tablo import/export işlevselliği.

Veri Modeli

DataTable widget'ı sıra türünde bir veri modeli kullanır. Tablodaki her satır, satırın verilerini içeren bu veri modelinde yeni bir öğe olarak temsil edilir.

Tablo Sütunları

Sütunlar, verileri belirli bir biçimde görüntülemek için veri şablonlarından yararlanı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 bir XPath ifadesini RowIdXPath özelliği aracılığıyla belirtin. Benzersiz bir tanımlayıcı oluşturmak için bu ifade her satır için değerlendirilir.

Veri Alışverişi

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

İçe ve dışa aktarma düzeni Columns özelliği aracılığıyla belirtilir. 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'daki her satırın, kalıcı bir 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üzenlemesine olanak tanır.

Ö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>