Onay Listesi¶
Emakin'deki CheckList widget'ı, bir onay kutusu listesinden birden fazla seçim yapılmasına olanak tanır. Liste seçenekleri, statik listeler veya sorgu sonuçları da dahil olmak üzere çeşitli veri kaynaklarındansağlanabilir.
XML Alanları¶
Saklanan Değerler¶
XPathseçimin yazılacağı koleksiyonu veya değeri belirtir.ItemXPathsaklanan öğeleri tek tek seçer.ValueXPathseçilen her öğe için yazılacak kaynak alanını belirtir;CaptionXPathöğe ile birlikte saklanacak görüntüleme metnini belirtir. Tekli Mod'da seçilen değerler aşağıda açıklanan şekilde tek bir veri öğesinde gösterilir.
Seçenek Kaynağı ve Sunumu¶
DataSourcesseçilebilir öğeleri sağlar.MonitoredXPathsdeğiştirildiğinde öğeleri yeniden yükleyen değerleri listeler.Layoutseçim düzenini belirler:VerticalveyaHorizontalonay kutusu düzenini.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 saklar. Tekli Mod seçilen tüm değerleri, tarafından belirlenen düğümün metin değeri içinde saklar XPath.
Tekli Mod'u etkinleştirmek için ItemXPath olarak ayarlayın !. Burada ! bir XPath ifadesi değil, mod işaretçisidir. Bu nedenle ValueXPath, CaptionXPath, veri 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 öznitelik |
ItemXPath | Dizideki her öğe için XPath; örneğin Item veya * | ! |
| Saklanan değer | Seçili 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 saklanabilir | CheckList tarafından saklanmaz veya yürütülmez |
| Seçim yaşam döngüsü | Yeni, mevcut ve seçimi kaldırılmış öğeler şu değeri taşıyabilir: State | Dizenin tamamı değiştirilir; öğe başına durum tutulmaz |
| Şu durumlarda uygundur: | Her seçim için meta veri, eşleme veya değişiklik takibi gerekiyorsa | Yalnızca seçilen tanımlayıcıların kompakt biçimde saklanması gerekiyorsa |
Veri Modeli Karşılaştırması¶
Aşağıdaki örneklerde kullanıcının 1. Öğeyi (1) ve 3. Öğeyi (3). Data seçtiğini varsayın. Bu yalnızca form verilerini çevreleyen kök düğümdür; gerçek kök öğenin adı farklı olabilir.
Varsayılan mod: seçili öğeler dizisi¶
Standart örnekte XPath="List" ve ItemXPath="*"kullanılır. Şemada, * öğesi, izin verilen alt öğe olarak çözümlenir: List dizisinin. Bu alt öğenin adı Itemise ortaya çıkan verinin yapısal karşılığı şöyledir:
1 2 3 4 5 6 7 8 9 10 11 12 | |
ValueXPath ve CaptionXPath seçilen her Itemöğeye göre değerlendirilir. 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, seçimi kaldırılan öğe veri modelinde şu değerle tutulur: State="Deleted"; daha önce saklanmış ve seçili kalmaya devam eden öğede ise State özniteliği bulunmaz. Bu, öğe başına yaşam döngüsünü şu değer temizleyene kadar korur: $Xml.CommitDeletes() . Widget ayrıca yeni oluşturulan öğeler için veri kaynağı eşlemelerini yürütür; dolayısıyla bu mod, değer ve başlığın yanı sıra ek alanları da saklayabilir.
Tekli Mod: tek bir skaler değer¶
Tekli Mod örneğinde XPath="SingleMode" ve ItemXPath="!"kullanılır. Aynı iki seçenek seçildiğinde yalnızca şu tek değer oluşturulur veya güncellenir:
1 2 3 | |
Alt Item düğümler, başlıklar, eşlemeler veya State öznitelikleri yoktur. Seçim değiştiğinde CheckList metin değerinin tamamını yeniden yazar; örneğin, seçim 2. Öğe olarak değiştirildiğinde <SingleMode>2</SingleMode>elde edilir. Hiçbir seçenek seçilmediğinde değer boş olur.
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ı hedefler.
- Veri kaynağı değerlerinde virgül kullanmayın: virgül, depolama ayırıcısıdır. Yükleme sırasında baştaki ve sondaki boşluklar yok sayılır.
- Etiketler her zaman geçerli veri kaynağından alınabiliyorsa 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.
Açıklamalar¶
Varsayılan Davranış¶
- CheckList widget'ı seçili öğeleri saklamak için dizi türünde bir veri modeli kullanır.
- Seçili Öğeler: Seçilen her öğe, karşılık gelen değeriyle birlikte veri modelinde yeni bir öğe oluşturur.
Veri Eşleme¶
-
Değer Atama:
- Veri kaynağı öğesinin
Valueözelliği kullanılarakValueXPathözelliği tarafından tanımlanır. - Varsayılan: Boş dize; veri kaynağı öğesinin değerini yeni öğeye atar.
- Veri kaynağı öğesinin
-
Etiket Atama:
- Veri kaynağı öğesinin
Textözelliği kullanılarakCaptionXPathözelliği tarafından tanımlanır. - Varsayılan: Boş dize; veri kaynağı öğesinin
Textözelliğini yeni öğeninCaptionözniteliğine atar.
- Veri kaynağı öğesinin
Durum Özniteliği¶
CheckList widget'ı, liste öğelerindeki değişiklikleri şu özniteliği kullanarak izlemeyi destekler: State özniteliği:
Temp: Yeni seçilen öğeleri işaretler.- Mevcut Öğeler: Olduğu gibi korunur.
Deleted: Seçimi kaldırılan öğeleri işaretler.
State Özniteliğini Temizleme:
Sıfırlamak için komut dosyası yöntemini kullanın: $Xml.CommitDeletes() özniteliğini sıfırlamak için State özniteliğini.
Örnek¶
Veri kaynaklarını kullanan örnek bir onay listesi widget'ı aşağıdaki gibi 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 | |