TXLSXDataValidations manages Excel input constraints for TXLSXWorksheet.DataValidations and each rule is a TXLSXDataValidation
Declarations
function Add(const ARange: WideString; AType: TXLSXDataValidationType; AOp: TXLSXDvOperator; const AFormula1: WideString): Integer;
function Add(const ARange: WideString; AType: TXLSXDataValidationType; AOp: TXLSXDvOperator; const AFormula1, AFormula2: WideString): Integer;
function AddList(const ARange, AItems: WideString): Integer;
procedure TXLSXDataValidation.SetPrompt(const ATitle, AText: WideString);
procedure TXLSXDataValidation.SetError(const ATitle, AText: WideString; AStyle: TXLSXDvErrorStyle = xlsxDvErrStop);
Rule üyeleri
| Range and ValidationType | Hedef hücreler ile tam sayı, ondalık, liste, tarih, saat, metin uzunluğu veya özel doğrulama türü |
| Op, Formula1 and Formula2 | Comparison operator and one or two criteria expressions |
| AllowBlank | Allows an empty value while retaining the validation rule |
| PromptTitle and Prompt | Input message shown when a target cell is selected |
| ErrorTitle, ErrorMessage and ErrorStyle | Invalid-entry alert and its stop, warning or information icon |
| ShowDropDown | Controls whether a list validation displays its selection arrow |
| ImeMode | OOXML IME input mode for supported CJK clients |
Kural hedef aralıkları
2.384.76 itibarıyla sayfa yerel hedefler tek hücreleri, hücre dikdörtgenlerini, $B:$D gibi tüm sütunları ve $5:$8 gibi tüm satırları kabul ediyor; ters çevrilmiş uçlar normalleştiriliyor ve boşluklar, sekmeler veya satır sonları birden çok alanı ayırıyor
Mutlak ve karışık başvular özgün Range metinlerini korur; eşleştirme 1–1048576 satırlarını ve A–XFD sütunlarını kullanır, bozuk veya ızgara dışı alanları atlar ve geçerli kardeş alanları etkin tutar, yeni bir setter istisnası yükseltmez
Sayfa nitelemeli ve dış başvular hedef alan değildir; her kural kendi çalışma sayfasına aittir ve dolar işaretleri sıradan A1 başvuru konumlarında yer almalıdır
Kural araması, hücre ve aralık silme, tek hücreli doğrulama ve saklanan hücre doğrulama denetimleri aynı hedef geometrisini kullanır; hedef ayrıştırma, liste kaynağı formül desteğini değiştirmez
2.384.77 itibarıyla satır ve sütun düzenlemeleri, çalışma sayfası ızgarası içindeki tüm eksenli kural hedeflerini de dönüştürüyor; her satırı veya sütunu kapsayan bir kapsam, o eksen düzenlendiğinde eksiksiz kalıyor, diğer eksendeki düzenlemeler ise hedefi taşıyor, küçültüyor veya kaldırıyor
Aralık klonlama tam kapsama sözleşmesini korur: kural kopyalanmadan önce her hedef alanın kaynak dikdörtgenin içine sığması gerekir ve yalnızca kısmi kesişim bir kuralı kopyalamaz; tüm eksenli hedefler, hedef ızgara içinde kaldığı sürece tüm satırlık veya tüm sütunluk bir kaynaktan klonlanabilir
Tüm eksenli doğrulama hedefleri düzenlemeler sırasında tek kural olarak kalır; formül, hayatta kalan ilk çapasından ayarlanır. Bu, mevcut ODS özel-boolean veya skaler-formül birlikte çalışabilirlik desteğini genişletmez
Örnek
var Index: Integer;
begin
Index := Sheet.DataValidations.AddList('D2:D100', 'New,Active,Closed');
Sheet.DataValidations[Index].SetPrompt('Status', 'Select a permitted status');
Sheet.DataValidations[Index].SetError('Invalid status', 'Choose a value from the list');
end;
ODS kapsamı
ODS dışa aktarma, geçerli bir ilk hücre taban adresini desteklenen ilk hedef alandan türetir; tüm satır ve sütunlar da buna dahildir. Bozuk baştaki alanlar taban adresi olmaz
Özel boolean doğrulama dışa aktarma desteklenmeye devam ediyor ve skaler eşik formülleri mevcut formül-sözdizimi sınırlamalarını koruyor; hedef aralık düzeltmesi, göreli doğrulama formülleri için dış birlikte çalışabilirlik sağlamaz
Ayrıca bkz.