Dokumentace HotXLS

Třídy TXLSXDataValidation a TXLSXDataValidations

TXLSXDataValidations spravuje vstupní omezení Excelu pro TXLSXWorksheet.DataValidations a každé pravidlo je TXLSXDataValidation

Deklarace

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);

Členové pravidla

Range and ValidationTypeCílové buňky a typ ověření: celé číslo, desetinné číslo, seznam, datum, čas, délka textu nebo vlastní
Op, Formula1 and Formula2Porovnávací operátor a jedno či dvě kritériové vyjádření
AllowBlankPovolí prázdnou hodnotu, zatímco pravidlo ověřování zůstává zachováno
PromptTitle and PromptVstupní zpráva zobrazená při výběru cílové buňky
ErrorTitle, ErrorMessage and ErrorStyleVýstraha při neplatném vstupu a její ikona stop, warning či information
ShowDropDownŘídí, zda seznamové ověření zobrazí svou šipku výběru
ImeModeRežim IME vstupu OOXML pro podporované CJK klienty

Cílové oblasti pravidel

Od 2.384.76 přijímají cíle v rámci listu jednotlivé buňky, obdélníky buněk, celé sloupce jako $B:$D a celé řádky jako $5:$8; obrácené koncové body se normalizují a více oblastí oddělují mezery, tabulátory nebo konce řádků
Absolutní a smíšené reference si zachovávají původní text Range; párování používá řádky 1 až 1048576 a sloupce A až XFD, přeskakuje poškozené oblasti nebo oblasti mimo mřížku a platné sousední oblasti téhož pravidla zůstávají aktivní, aniž by setter vyhodil novou výjimku
Reference kvalifikované listem a externí reference nejsou cílové oblasti; každé pravidlo patří ke svému listu a znaky dolaru musí stát na obvyklých pozicích odkazu A1
Vyhledávání pravidel, mazání buněk a oblastí, ověření jedné buňky i audity ověření uložených buněk používají stejnou geometrii cíle; parsování cíle nemění podporu vzorců zdroje seznamu
Od 2.384.77 transformují úpravy řádků a sloupců také cíle pravidel přes celé řádky a sloupce v rámci mřížky listu; rozsah pokrývající každý řádek nebo sloupec zůstává při úpravě této osy kompletní, zatímco úpravy druhé osy cíl posunou, zmenší nebo odstraní
Klonování oblastí zachovává smlouvu úplného pokrytí: každá cílová oblast musí být před zkopírováním pravidla celá uvnitř zdrojového obdélníku a samotný částečný průnik pravidlo nekopíruje; takové cíle lze klonovat ze zdroje celého řádku nebo celého sloupce, pokud cíl zůstane v mřížce
Cíle ověření přes celé řádky a sloupce zůstávají během úprav jedním pravidlem, přičemž vzorec se přizpůsobí podle první přeživší kotvy; to nerozšiřuje stávající podporu interoperability ODS pro vlastní boolean a skalární vzorce

Příklad

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;

Rozsah v ODS

Export ODS odvodí platnou základní adresu první buňky z první podporované cílové oblasti, včetně celých řádků a sloupců; poškozené úvodní oblasti se základními adresami nestávají
Export vlastního boolean ověření zůstává nepodporovaný a skalární prahové vzorce si zachovávají stávající omezení syntaxe vzorců; oprava cílových oblastí nevytváří externí interoperabilitu pro relativní ověřovací vzorce

Viz také