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 destino de las reglas
Desde la versión 2.384.76, los destinos locales de la hoja aceptan celdas individuales, rectángulos de celdas, columnas enteras como $B:$D y filas enteras 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 malformadas 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 las externas no son áreas de destino; 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, el borrado de celdas y rangos, la validación de celda individual y las auditorías de validación de celdas almacenadas usan la misma geometría de destino; el análisis de destinos no cambia el soporte de fórmulas de origen de lista
Desde la versión 2.384.77, las ediciones de filas y columnas también transforman los destinos de reglas de eje completo dentro de la cuadrícula de la hoja; una extensión que abarca todas las filas o columnas sigue completa cuando se edita ese eje, mientras que las ediciones del otro eje mueven, reducen o eliminan el destino
La clonación de rangos conserva el contrato de cobertura completa: cada área de destino debe caber dentro del rectángulo de origen antes de copiar la regla, y una intersección parcial por sí sola no copia la regla; los destinos de eje completo pueden clonarse desde un origen de fila o columna entera cuando el destino se mantiene dentro de la cuadrícula
Los destinos de validación de eje completo siguen siendo una sola regla durante las ediciones, con la fórmula ajustada a partir de su primer anclaje superviviente; esto no amplía el soporte de interoperabilidad existente para booleanos personalizados de ODS ni para 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 de destino admitida, incluidas filas y columnas enteras; las áreas iniciales malformadas no pasan a ser direcciones base
La exportación de validación booleana personalizada sigue sin estar admitida, y las fórmulas de umbral escalares conservan sus limitaciones de sintaxis de fórmula existentes; la corrección de los rangos de destino no establece interoperabilidad externa para fórmulas de validación relativas
Véase también