Onay Kutusu Listesi¶
Emakin'deki CheckList widget'ı, bir onay kutusu listesinden birden çok seçim yapılmasını sağlar. Liste seçenekleri çeşitli veri kaynaklarından(statik listeler veya sorgu sonuçları dahil) alınabilir.
XML Alanları¶
Depolanan Değerler¶
XPathseçimin kaydedileceği koleksiyonu veya değeri seçer.ItemXPathdepolanan öğeleri tek tek seçer.ValueXPathseçilen her öğe için yazılacak kaynak alanını seçer;CaptionXPathöğe ile birlikte depolanacak görüntüleme metnini seçer. Tekli Mod'da seçilen değerler aşağıda açıklandığı gibi tek bir veri öğesinde gösterilir.
Seçenek Kaynağı ve Sunumu¶
DataSourcesseçilebilir öğeleri sağlar.MonitoredXPathsdeğiştirildiğinde bu öğeleri yeniden yükleyen değerleri listeler.Layoutonay kutusu düzeniniVerticalveyaHorizontaldüzenini seçer.RequiredForGroupeşleşen doğrulama grubu değerlendirildiğinde seçim yapılmasını zorunlu kılar.Hintskullanıcıya yardım sağlar veRuleskoşullu davranışı denetler.
Tekli Mod¶
CheckList iki farklı depolama modelini destekler. Varsayılan model, her seçimi ayrı bir XML öğesi olarak depolar. Tekli Mod tüm seçili değerleri, tarafından seçilen düğümün metin değerinde depolar. XPath.
Tekli Mod'u ayarlayarak etkinleştirin ItemXPath değerine !. Burada, ! bir XPath ifadesi değil, mod işaretleyicisidir. Bu nedenle, ValueXPath, CaptionXPathveri kaynağı eşlemeleri ve State özniteliği veri modeline yazmak için kullanılmaz.
| Varsayılan mod | Tekli Mod | |
|---|---|---|
XPath hedef | Seçilen öğeler dizisi için bir kapsayıcı | Tek bir skaler XML öğesi veya özniteliği |
ItemXPath | Dizideki her öğe için XPath; örneğin Item veya * | ! |
| Depolanan değer | İşaretlenen her seçenek için bir XML öğesi | Virgülle ayrılmış bir dize; örneğin 1,3 |
| Başlık ve eşlemeler | Her XML öğesinde depolanabilir | CheckList tarafından depolanmaz veya yürütülmez |
| Seçim yaşam döngüsü | Yeni, mevcut ve işareti kaldırılmış öğeler şu bilgileri taşıyabilir: State | Dizenin tamamı değiştirilir; öğe başına durum yoktur |
| Şu durumda uygundur: | Her seçimin meta veri, eşleme veya değişiklik izleme gerektirmesi | Yalnızca seçili tanımlayıcıların kompakt biçimde kaydedilmesi gerekmesi |
Veri Modeli Karşılaştırması¶
Aşağıdaki örneklerde kullanıcının şu öğeleri işaretlediğini varsayın: Öğe 1 ( (1) ve Öğe 3 ( (3). Data yalnızca kapsayıcı form verisi köküdür; gerçek kök öğenin adı farklı olabilir.
Varsayılan mod: seçili öğeler dizisi¶
Normal örnek şunları kullanır: XPath="List" ve ItemXPath="*". Bir şemada, * ifadesi, izin verilen alt öğeye çözümlenir: List dizisi. Bu alt öğenin adı Itemise ortaya çıkan veri yapısal olarak şuna eşdeğerdir:
1 2 3 4 5 6 7 8 9 10 11 12 | |
ValueXPath ve CaptionXPath seçilen her öğeye göre değerlendirilir: Item. Yukarıdaki gibi alt öğelere veya özniteliklere işaret edebilirler. Örneğin, ValueXPath="@Value" ve CaptionXPath="@Caption" şunu üretir: <Item Value="1" Caption="Item 1" State="Temp" />.
Daha sonraki bir düzenlemede, işareti kaldırılan bir öğe veri modelinde şu değerle tutulur: State="Deleted"; daha önce depolanmış ve işaretli kalmaya devam eden bir öğede ise şu State öznitelik bulunmaz. Bu, şu öğe onu temizleyene kadar öğe başına yaşam döngüsünü korur: $Xml.CommitDeletes() Bileşen ayrıca yeni oluşturulan öğeler için veri kaynağı eşlemelerini yürütür; bu nedenle bu mod, değer ve başlığın yanı sıra ek alanları da kalıcı olarak depolayabilir.
Tekli Mod: tek bir skaler değer¶
Tekli Mod örneği şunları kullanır: XPath="SingleMode" ve ItemXPath="!". Aynı iki seçeneğin işaretlenmesiyle yalnızca bu tek değer oluşturulur veya güncellenir:
1 2 3 | |
Alt düğüm Item yoktur; başlıklar, eşlemeler veya State öznitelikler de bulunmaz. Seçim değiştiğinde CheckList metin değerinin tamamını yeniden yazar; örneğin seçim Öğe 2 olarak değiştirilirse şu sonuç oluşur: <SingleMode>2</SingleMode>. Boş seçim boş bir değer üretir.
Tekli Mod Değer Kuralları¶
- Değerler benzersiz ve boş olmayan tanımlayıcılar olmalıdır. Yinelenen bir değer, aynı onay kutusu satırını işaret eder.
- Veri kaynağı değerlerinde virgül kullanmayın: virgüller depolama ayıracıdır. Yükleme sırasında çevresindeki boşluklar yok sayılır.
- Etiketlerin her zaman geçerli veri kaynağından alınabildiği durumlarda Tekli Mod uygundur. Geçmiş başlıklar, ek eşlenmiş alanlar veya öğe düzeyinde silme denetim kaydı gerekiyorsa varsayılan modu kullanın.
Notlar¶
Varsayılan Davranış¶
- CheckList bileşeni seçili öğeleri depolamak için dizi türünde bir veri modeli kullanır.
- İşaretli Öğeler: Seçilen her öğe, karşılık gelen değeri içeren yeni bir öğeyi veri modelinde oluşturur.
Veri Eşleme¶
-
Değer Atama:
- Veri kaynağı öğesinin
Valueözelliği kullanılarak tanımlananValueXPathözelliği. - Varsayılan: Boş dize; veri kaynağı öğesinin değeri yeni öğeye atanır.
- Veri kaynağı öğesinin
-
Etiket Atama:
- Veri kaynağı öğesinin
Textözelliği kullanılarak tanımlananCaptionXPathözelliği. - Varsayılan: Boş dize; veri kaynağı öğesinin
Textözelliği yeni öğeninCaptionözniteliğine atanır.
- Veri kaynağı öğesinin
State Özniteliği¶
CheckList bileşeni, liste öğelerindeki değişikliklerin State özniteliği kullanılarak izlenmesini destekler:
Temp: Yeni işaretlenen öğeleri belirtir.- Mevcut öğeler: Olduğu gibi korunur.
Deleted: İşareti kaldırılan öğeleri belirtir.
State Özniteliğini Temizleme:
Özniteliği sıfırlamak için $Xml.CommitDeletes() komut dizisi yöntemini kullanarak State özniteliği sıfırlayın.
Örnek¶
Veri kaynaklarını kullanan örnek bir onay kutusu listesi bileşeni şu şekilde tanımlanabilir:
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 | |
İlgili Sayfalar¶
Tekli Mod Ö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 | |