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 members
| Range and ValidationType | Cellules cibles et type de validation entier, décimal, liste, date, heure, longueur de texte ou personnalisé |
| 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 |
Plages cibles des règles
Depuis la 2.384.76, les cibles locales à la feuille acceptent des cellules isolées, des rectangles de cellules, des colonnes entières comme $B:$D et des lignes entières comme $5:$8 ; les extrémités inversées sont normalisées, et des espaces, tabulations ou sauts de ligne séparent plusieurs zones
Les références absolues et mixtes conservent leur texte Range d'origine ; la correspondance utilise les lignes 1 à 1048576 et les colonnes A à XFD, ignore les zones malformées ou hors grille, et garde les zones sœurs valides actives sans lever une nouvelle exception de setter
Les références qualifiées par feuille et externes ne sont pas des zones cibles ; chaque règle appartient à sa feuille de calcul, et les signes dollar doivent figurer à des positions de référence A1 ordinaires
La recherche de règles, la suppression de cellules et de plages, la validation de cellule isolée et les audits de validation des cellules stockées utilisent la même géométrie de cible ; l'analyse des cibles ne change pas la prise en charge des formules de source de liste
Depuis la 2.384.77, les éditions de lignes et de colonnes transforment aussi les cibles de règles sur axes entiers à l'intérieur de la grille de la feuille ; une étendue couvrant chaque ligne ou colonne reste complète quand cet axe est modifié, tandis que les éditions de l'autre axe déplacent, réduisent ou suppriment la cible
Le clonage de plages conserve le contrat de couverture complète : chaque zone cible doit tenir à l'intérieur du rectangle source avant que la règle soit copiée, et une simple intersection partielle ne copie pas de règle ; les cibles sur axes entiers peuvent être clonées depuis une source de ligne ou de colonne entière tant que la destination reste dans la grille
Les cibles de validation sur axes entiers restent une seule règle pendant les éditions, la formule étant ajustée depuis son premier ancre survivant ; cela n'étend pas la prise en charge existante de l'interopérabilité ODS pour les booléens personnalisés ou les formules scalaires
Exemple
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;
Portée ODS
L'export ODS dérive une adresse de base de première cellule valide à partir de la première zone cible prise en charge, y compris lignes et colonnes entières ; les zones de tête malformées ne deviennent pas des adresses de base
L'export de validation booléenne personnalisée reste non pris en charge, et les formules de seuil scalaires conservent leurs limitations de syntaxe de formule existantes ; la correction des plages cibles n'établit pas d'interopérabilité externe pour les formules de validation relatives
Voir aussi