TXLSXDataValidations administra las restricciones de entrada de Excel para TXLSXWorksheet.DataValidations, y cada regla es un TXLSXDataValidation
Declaraciones
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);
Miembros de la regla
| Range and ValidationType | Celdas de destino y tipo de validación de número entero, decimal, lista, fecha, hora, longitud de texto o personalizado |
| Op, Formula1 and Formula2 | Operador de comparación y una o dos expresiones de criterio |
| AllowBlank | Permite un valor vacío mientras conserva la regla de validación |
| PromptTitle and Prompt | Mensaje de entrada mostrado al seleccionar una celda de destino |
| ErrorTitle, ErrorMessage and ErrorStyle | Alerta de entrada no válida y su icono de detención, advertencia o información |
| ShowDropDown | Controla si una validación de lista muestra su flecha de selección |
| ImeMode | Modo de entrada IME OOXML para clientes CJK compatibles |
Rangos de objetivos de reglas
Desde 2.384.76, los objetivos locales de la hoja aceptan celdas individuales, rectángulos de celdas, columnas completas como $B:$D y filas completas como $5:$8; los extremos invertidos se normalizan, y los espacios, tabuladores o saltos de línea separan varias áreas
Las referencias absolutas y mixtas conservan su texto Range original; la coincidencia usa las filas 1 a 1048576 y las columnas A a XFD, omite las áreas mal formadas o fuera de la cuadrícula, y mantiene activas las áreas hermanas válidas sin lanzar una nueva excepción del setter
Las referencias calificadas por hoja y externas no son áreas objetivo; cada regla pertenece a su hoja de cálculo, y los signos de dólar deben aparecer en posiciones ordinarias de referencia A1
La búsqueda de reglas, la eliminación de celdas y rangos, la validación de una sola celda y las auditorías de validación de celdas almacenadas usan la misma geometría de objetivos; el análisis de objetivos no cambia el soporte de fórmulas de origen de lista
Desde 2.384.77, las ediciones de filas y columnas también transforman los objetivos de regla de eje completo dentro de la cuadrícula de la hoja; una extensión que abarca cada fila o columna permanece completa cuando ese eje se edita, mientras que las ediciones del otro eje mueven, encogen o eliminan el objetivo
La clonación de rangos conserva el contrato de cobertura completa: cada área objetivo debe caber dentro del rectángulo de origen antes de copiar la regla, y una intersección parcial por sí sola no copia una regla; los objetivos de eje completo pueden clonarse desde un origen de fila entera o de columna entera cuando el destino permanece dentro de la cuadrícula
Los objetivos de validación de eje completo permanecen como una sola regla durante las ediciones, con la fórmula ajustada desde su primera ancla superviviente; esto no amplía el soporte existente de interoperabilidad ODS para booleanos personalizados o fórmulas escalares
Ejemplo
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;
Alcance en ODS
La exportación ODS deriva una dirección base válida de primera celda a partir de la primera área objetivo admitida, incluidas filas y columnas completas; las áreas iniciales mal formadas no se convierten en direcciones base
La exportación de validación booleana personalizada sigue sin estar admitida, y las fórmulas de umbral escalar conservan sus limitaciones existentes de sintaxis de fórmulas; la corrección de rangos objetivo no establece interoperabilidad externa para fórmulas de validación relativas
Véase también