Ana içeriğe geç

Tablo İçeriği

TableContent bileşeni, kullanıcıların tablo yapısı içindeki satır ve sütunları yönetmesine olanak tanıyan, veri girişi için tasarlanmış bir tablo arayüzü sunar.

Bu bileşen, karmaşık kurallar ve gelişmiş kullanılabilirlik gerektiren veri girişi görevleri için en uygunudur. Büyük veri kümelerini görüntülemek için daha verimli olan DataTable bileşeni önerilir.

XML Alanları

Koleksiyon ve Satır Seçimi

  • XPath koleksiyon bağlamını tanımlar. ItemXPath satır olarak gösterilen öğeleri seçer; şu durumda kullanın: * her doğrudan alt öğe bir satır olduğunda.
  • RowIdXPath kararlı bir satır kimliği sağlar. FilterXPath görüntülenen satırları kısıtlar, SortXPath sıralar ve ItemsRootXPath alternatif bir koleksiyon kökü seçer.

Komutlar ve Yenileme

  • AllowNewXPath, AllowDeleteXPath, AllowDeleteAllXPath, AllowMovingXPathve AllowMoveUpDownXPath ekleme, silme, temizleme, taşıma ve move-up/down aksiyonlarını denetler. İfadeleri geçerli kullanıcıyı ve veri durumunu yansıtmalıdır.
  • AddNewLabel satır ekleme başlığını sağlar. ShowBlankSlate ve BlankSlate boş bir koleksiyon için ne gösterileceğini tanımlar. Şu durumda kullanın: MonitoredXPaths diğer form değerleri filtrelemeyi, sıralamayı veya komutların kullanılabilirliğini etkilediğinde.

Sütunlar ve Satır Düzenleyicisi

  • Her biri Column kullanarak Width, MinWidthve MaxWidth genişliğini kısıtlar ve Align içeriğini hizalar. Label üstbilgidir, Controls tablo içi denetimlerdir, Footer altbilgi içeriğidir ve sütun Rules bu sütuna koşullu davranış uygular.
  • Editor genişletilmiş satır düzenleme formudur. RowRules satır düzeyinde biçimlendirme veya doğrulama uygular, RowScript bir satır için çalışır ve DataExchange alanları import/export tanımlar.

Temel Özellikler

  • Yaygın tablo işlemlerini destekler: satır ekleme, silme ve taşıma.
  • Expandable/collapsible Her satır için ek giriş alanları sağlayan düzenleyiciler.
  • Tablo import/export işlevselliği.

Veri Modeli

TableContent bileşeni, tablo satırlarını depolamak için dizi türünde bir veri modeli kullanır. Tablodaki her satır, satır verilerini içeren yeni bir veri modeli öğesiyle temsil edilir.

Tablo Sütunları

Tablolar, her biri bir veya daha fazla bileşen barındırabilen istenen sayıda sütun içerebilir. Sütun genişlikleri yüzde olarak belirtilebilir; minimum ve maksimum genişlik sınırları da yüzde olarak tanımlanabilir.

Sütun başlıkları ve altbilgileri veri şablonlarınıdestekleyerek hesaplanan değerlerin görüntülenmesini sağlar. Sütunlara ayrıca doğrulama ve biçimlendirme kuralları uygulanabilir.

Benzersiz Satır Kimlikleri

Her satıra otomatik olarak benzersiz kimlikler atamak için, şu özelliği kullanarak bir XPath ifadesi belirtin: RowIdXPath özellik. Benzersiz bir tanımlayıcı oluşturmak için bu ifade her satır için değerlendirilir.

Satır Filtreleme

Varsayılan olarak veri modelindeki tüm satırlar görüntülenir. Satırları belirli ölçütlere göre filtrelemek için, şu öğedeki boole değeri döndüren bir XPath ifadesi sağlayın: FilterXPath özelliği. Yalnızca bu ifadenin şu değeri döndürdüğü satırlar true görüntülenir.

Tablo İşlem Kuralları

TableContent bileşeni, tablo işlemlerinin XPath ifadeleriyle denetlenmesini sağlar. Bir işlemi devre dışı bırakmak için ilgili XPath ifadesini şu değere ayarlayın: false() veya 0.

  • AllowMovingXPath: Satırların taşınıp taşınamayacağını denetler. XPath ifadesinin bağlamı, tablonun bağlı XPath'idir.
  • AllowNewXPath: Yeni satır eklenip eklenemeyeceğini denetler. Bağlam, tablonun bağlı XPath'idir.
  • AllowDeleteXPath: Tek tek satırların silinip silinemeyeceğini denetler. Bağlam, değerlendirilen satırın XPath'idir.
  • AllowDeleteAllXPath: Tüm satırların aynı anda silinip silinemeyeceğini denetler. Bağlam, tablonun bağlı XPath'idir.

Satıra Özel Kurallar

Sütun düzeyindeki kurallara ek olarak satıra özel kurallar şu özellik kullanılarak tanımlanabilir: RowRules özelliği. Bu kurallar tablodaki her satır için değerlendirilir.

Satır Düzenleyicisi

TableContent bileşenindeki her satırın genişletilip daraltılabilen bir düzenleyici bölmesi vardır. Bu bölmeye, alan kısıtlamaları nedeniyle ana tablo sütunlarına sığmayabilecek ek bileşenler eklenebilir.

Satır Komut Dizisi

TableContent bileşeninde ayrıca satırları varsayılan değerlerle başlatmak veya diğer satır değerlerine göre hesaplamalar yapmak için satır komut dizisi özelliği bulunur. Komut dizisi, tabloya yeni bir satır eklendiğinde çalıştırılır.

Oluşturulan yeni satır, şu değişken aracılığıyla komut dizisine aktarılır: $NewChild değişkeni.

Örnek

Aşağıdaki satır komut dizisi, tabloya eklenen her yeni satıra bir satır numarası atar:

1
$NewChild.SetValue('RowNumber', $Xml.Count('Rows/Row') + 1);

Tablo İçeriği Örneği

  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
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
<TableContent XPath="List">
    <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[]]></AllowDeleteAllXPath>
    <AddNewLabel>
        <Content><![CDATA[Add New Row]]></Content>
    </AddNewLabel>
    <MonitoredXPaths />
    <BlankSlate />
    <RowScript>
        <Content><![CDATA[]]></Content>
    </RowScript>
    <DataExchange AllowImport="True" AllowExport="True">
        <Columns>
            <Column Caption="col1" Type="Text">
                <XPath><![CDATA[Field]]></XPath>
            </Column>
        </Columns>
    </DataExchange>
    <RowRules>
        <FormattingRule BackgroundColor="" Color="#00F">
            <Condition>
                <Content><![CDATA[return $Xml.Evaluate('Field') == '1';]]></Content>
            </Condition>
        </FormattingRule>
        <ValidationRule>
            <Condition>
                <Content><![CDATA[return $Xml.Evaluate('Field') == 'error';]]></Content>
            </Condition>
            <Label>
                <Content><![CDATA[An Error Message]]></Content>
            </Label>
        </ValidationRule>
    </RowRules>
    <Columns>
        <Column Width="0" MaxWidth="0" MinWidth="0" Align="Left">
            <Rules/>
            <Label>
                <Content><![CDATA[Column 1]]></Content>
            </Label>
            <Controls>
                <TextBox XPath="Field" MaxLength="255" InputMask="" Type="Text" Size="Medium" RequiredForGroup="">
                    <PlaceHolder><![CDATA[]]></PlaceHolder>
                    <Hints><![CDATA[]]></Hints>
                    <Rules />
                </TextBox>
            </Controls>
            <Footer>
                <Content><![CDATA[Column 1 Footer]]></Content>
            </Footer>
        </Column>
        <Column Width="0" MaxWidth="0" MinWidth="0" Align="Left">
            <Rules>
                <FormattingRule Hidden="True" Disabled="Inherit">
                    <Condition>
                        <Content><![CDATA[return true;]]></Content>
                    </Condition>
                </FormattingRule>
            </Rules>
            <Label>
                <Content><![CDATA[Column 2]]></Content>
            </Label>
            <Controls>
                <Label Style="">
                    <Content><![CDATA[Hidden Column]]></Content>
                </Label>
            </Controls>
            <Footer>
                <Content><![CDATA[Column 2 Footer]]></Content>
            </Footer>
        </Column>
    </Columns>
    <Editor>
        <RowContent>
            <Rules/>
            <Label>
                <Content><![CDATA[Field]]></Content>
            </Label>
            <Columns>
                <Column>
                    <Controls>
                        <TextBox XPath="Field" MaxLength="255" InputMask="" Type="Text" Size="Medium" RequiredForGroup="">
                            <PlaceHolder><![CDATA[]]></PlaceHolder>
                            <Hints><![CDATA[]]></Hints>
                            <Rules />
                        </TextBox>
                    </Controls>
                </Column>
            </Columns>
        </RowContent>
    </Editor>
</TableContent>