TXLSXDataValidations manages Excel input constraints for TXLSXWorksheet.DataValidations en 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 | Doelcellen en het validatietype geheel getal, decimaal, lijst, datum, tijd, tekenlengte of aangepast |
| Op, Formula1 and Formula2 | Vergelijkingsoperator en een van de twee criteriumexpressies |
| AllowBlank | Sta een lege waarde toe terwijl de validatieregel behouden blijft |
| PromptTitle and Prompt | Invoerbericht dat wordt getoond wanneer een doelcel wordt geselecteerd |
| ErrorTitle, ErrorMessage and ErrorStyle | Waarschuwing bij ongeldige invoer met het pictogram stop, waarschuwing of informatie |
| ShowDropDown | Bepaalt of een lijstvalidatie zijn selectiepijl toont |
| ImeMode | OOXML IME-invoermodus voor ondersteunde CJK-clients |
Doelbereiken van regels
Vanaf 2.384.76 accepteren werkbladlocale doelen enkele cellen, celrechthoeken, hele kolommen zoals $B:$D en hele rijen zoals $5:$8; omgekeerde eindpunten worden genormaliseerd, en spaties, tabs of regeleindes scheiden meerdere gebieden
Absolute en gemengde referenties behouden hun oorspronkelijke Range-tekst; het matchen gebruikt rijen 1 tot en met 1048576 en kolommen A tot en met XFD, slaat misvormde of buiten het raster vallende gebieden over en houdt geldige zustergebieden actief zonder een nieuwe setter-exception te gooien
Verwijzingen met bladkwalificatie en externe verwijzingen zijn geen doelgebieden; elke regel hoort bij zijn werkblad, en dollartekens moeten op gewone A1-referentieposities staan
Regelopzoeking, cel- en bereikverwijdering, validatie van afzonderlijke cellen en audits van opgeslagen celvalidatie gebruiken dezelfde doelgeometrie; het parsen van doelen verandert niets aan de ondersteuning van lijstbronformules
Vanaf 2.384.77 transformeren rij- en kolombewerkingen ook hele-as-regeldoelen binnen het werkbladraster; een omvang die elke rij of kolom bestrijkt blijft volledig wanneer die as wordt bewerkt, terwijl bewerkingen op de andere as het doel verplaatsen, verkleinen of verwijderen
Het klonen van bereiken behoudt het volledige-dekkingscontract: elk doelgebied moet in de bronrechthoek passen voordat de regel wordt gekopieerd, en alleen een gedeeltelijke intersectie kopieert geen regel; hele-as-doelen kunnen gekloond worden vanuit een hele-rij- of hele-kolombron zolang de bestemming binnen het raster blijft
Hele-as-validatiedoelen blijven tijdens bewerkingen één regel, met de formule aangepast vanuit het eerste overlevende anker; dit breidt de bestaande interop-ondersteuning voor ODS aangepast-booleaans of scalaire formules niet uit
Voorbeeld
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-reikwijdte
ODS-export leidt een geldig basisadres voor de eerste cel af uit het eerste ondersteunde doelgebied, inclusief hele rijen en kolommen; misvormde gebieden aan het begin worden geen basisadres
Export van aangepaste booleaanse validatie blijft onondersteund, en scalaire drempelformules behouden hun bestaande beperkingen in formulesyntaxis; de doelbereikfix vestigt geen externe interop voor relatieve validatieformules
Zie ook