TXLSXDataValidations manages Excel input constraints for TXLSXWorksheet.DataValidations e 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 members
| Range and ValidationType | Target cells e the whole number, decimal, list, date, time, text-length o custom validation type |
| Op, Formula1 and Formula2 | Comparison operator e one o 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 e its stop, warning o information icon |
| ShowDropDown | Controls whether a list validation displays its selection arrow |
| ImeMode | OOXML IME input mode for supported CJK clients |
Intervalli di destinazione delle regole
Dalla versione 2.384.76, le destinazioni locali del foglio accettano singole celle, rettangoli di celle, colonne intere come $B:$D e righe intere come $5:$8; gli estremi invertiti vengono normalizzati, e spazi, tabulazioni o a capo separano più aree
I riferimenti assoluti e misti conservano il loro testo Range originale; il matching usa le righe da 1 a 1048576 e le colonne da A a XFD, salta le aree malformate o fuori griglia, e mantiene attive le aree sorelle valide senza sollevare una nuova eccezione dal setter
I riferimenti qualificati per foglio ed esterni non sono aree di destinazione; ogni regola appartiene al proprio foglio di lavoro, e i segni di dollaro devono trovarsi in posizioni ordinarie di riferimento A1
La ricerca delle regole, l'eliminazione di celle e intervalli, la validazione di singola cella e gli audit di validazione delle celle memorizzate usano la stessa geometria di destinazione; l'analisi delle destinazioni non cambia il supporto delle formule sorgente di lista
Dalla versione 2.384.77, le modifiche di righe e colonne trasformano anche le destinazioni delle regole a asse intero entro la griglia del foglio di lavoro; un'estensione che copre ogni riga o colonna resta completa quando viene modificato quell'asse, mentre le modifiche dell'altro asse spostano, restringono o rimuovono la destinazione
La clonazione degli intervalli mantiene il contratto di copertura completa: ogni area di destinazione deve stare dentro il rettangolo sorgente prima che la regola venga copiata, e una sola intersezione parziale non copia la regola; le destinazioni a asse intero possono essere clonate da una sorgente di riga o colonna intera quando la destinazione resta entro la griglia
Le destinazioni di validazione a asse intero restano un'unica regola durante le modifiche, con la formula aggiustata a partire dal suo primo ancoraggio superstite; questo non estende il supporto di interoperabilità esistente per i booleani personalizzati ODS o per le formule scalari
Esempio
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;Ambito ODS
L'export ODS deriva un indirizzo base valido della prima cella dalla prima area di destinazione supportata, incluse righe e colonne intere; le aree iniziali malformate non diventano indirizzi base
L'export della validazione booleana personalizzata resta non supportato, e le formule di soglia scalari conservano le loro limitazioni di sintassi formula esistenti; la correzione degli intervalli di destinazione non stabilisce interoperabilità esterna per le formule di validazione relative
Vedere anche