Comment on page
VGridListDataView
Esta clase representa a un objeto rejilla.
DataType
- TypeNone = 0
- TypeString = 1
- TypeNumber = 2
- TypeDate = 3
- TypeTime = 4
- TypeDateTime = 5
- TypeImage = 6
Devuelve true si la ordenación de la rejilla haciendo clic en la cabecera de columnas está activada.
Permite especificar si las líneas de grid de la rejilla se visualizarán o se ocultarán.
Parámetros:
- show: true para que el grid esté visible, false para que el grid se oculte.
Permite activar o desactivar la ordenación de la rejilla haciendo clic en las cabeceras de columna.
Parámetros:
- set: true para que la ordenación esté activada, false para que la ordenación esté desactivada.
Devuelve true si el grid de la rejilla está visible y false si está oculto.
Devuelve el número de columnas que contiene la rejilla.
Devuelve el ancho en píxeles de la columna especificada en el parámetro.
Parámetros:
- column: número de la columna.
Devuelve true si la columna está oculta o false si la columna está visible.
Parámetros:
- column: número de columna sobre la que se aplica la función.
Vuelve la columna al modo fórmula (que es el modo por defecto), en el modo fórmula se evalúa la fórmula de la propiedad condición de visible de la columna para determinar la visibilidad de la misma. Al aplicar esta función se refresca la visibilidad de la columna.
Parámetros:
- column: número de columna sobre la que se aplica la función.
Cambia el ancho de la todas las columnas en función de los datos visualizados en cada columna.
Cambia el ancho de la columna especificada en función de los datos visualizados en la columna.
Parámetros:
- column: número de la columna.
Al aplicar la función la columna entra en modo manual y deja de aplicarse la fórmula de la propiedad condición de visible. Al aplicar esta función se refresca la visibilidad de la columna.
Parámetros:
- column: número de columna sobre la que se aplica la función.
- visible: true para hacer la columna visible, false para ocultar la columna.
Permite fijar el ancho de una columna en píxeles.
Parámetros:
- column: número de la columna.
- width: ancho en píxeles a pintar en la columna.
Devuelve el número de columnas visible que tiene la rejilla. Si todas las columnas declaradas en la rejilla están visible el valor devuelvo coincidirá con el que devuelva la función columnCount().
Devuelve true si la fila especificada está oculta.
Parámetros:
- row: número de la fila.
Cambia el alto de todas las filas en función de los datos visualizados.
Cambia el alto de la fila especificada en función de los datos visualizados.
Parámetros:
- row: número de la fila.
Permite cambiar el estado de visibilidad de una fila concreta.
Parámetros:
- row: número de la fila.
- visible: true para indicar que la fila será visible, false para indicar que la fila se oculte.
Activa el modo edición de la rejilla, editando la fila especificada. Se posiciona automáticamente en la primera columna visible y editable.
Parámetros:
- row: número de la fila.
Activa el modo edición de la rejilla, editando la celda correspondiente a la fila y columna especificada.
Parámetro:
- row: número de la fila.
- column: número de la columna.
Activa el modo edición de la rejilla, editando la celda correspondiente a la fila y el identificador de la columna especificado.
Parámetro:
- row: número de la fila.
- idColumn: identificador del subobjeto columna.
Devuelve el contenido visualizado en una celda de la rejilla.
Parámetros:
- row: número de la fila.
- column: número de la columna.
Devuelve un objeto de la clase VImage que contiene la imagen que se está visualizando en una celda. La imagen se graba en el objeto especificado en el tercer parámetro:
Parámetros:
- row: número de la fila.
- column: número de la columna.
Devuelve el código correspondiente al tipo de dato de edición que se está visualizando en una columna. Por este motivo las fórmulas y los campos compuestos siempre devolverán el tipo String porque no son editables. Ver enum DataType para conocer la lista de tipos de datos.
Parámetro:
- column: número de la columna. Ver enum DataType.
var formulario = theRoot.dataView();
var rejilla = formulario.control("LST");
rejilla.setSortingEnabled(false);
//Forzar la edición de la primera fila, tercera columna
var formulario = theRoot.dataView();
var controlRejilla = formulario.control("VIS");
var rejilla = controlRejilla.root().dataView();
rejilla.editItem(0, 2);
Se trata de un manejador de evento que oculta las columnas de una rejilla de un campo maestro cuando la rejilla está incrustada en un formulario de dicho maestro. Se ejecutará desde la señal de post inicialización de la rejilla. Esto se hace partiendo de la base de que el identificador del campo enlazado se llama igual que la tabla (Ejemplo: identificador campo: #ART_M, identificador tabla enlazada ART_M).
//Inicialización de variables
var salir = false;
//Comprobar si la rejilla está incrustada en otro objeto
var padre = theRoot.dataView().parentDataView();
//Si lo está vamos navegando por los objetos padre hasta llegar al objeto principal
if (padre) {
for (var i=0; !salir; ++i) {
var top = padre.parentDataView();
if (top) {
var padre = top;
}
else {
var salir = true;
}
}
//Si el objeto principal es un formulario con origen
//Componemos un identificador de campo a partir del identificador de la tabla
if (padre.objectInfo().inputType() == 1) {
tabla = "#" + padre.objectInfo().inputTable().id();
//Obtenemos la vista de datos actual (la rejilla)
var rejilla = theRoot.dataView();
//Obtenemos el número columnas visibles de la rejilla
var nColumnas = rejilla.visibleColumnCount();
//Guardamos la longitud del identificador de campo que hemos compuesto a partir del ID de la tabla
//Lo usaremos para extraer de la fórmula de cada colunma la parte izquierda
longTabla = tabla.length;
//Comprobamos si coincide la parte izquierda del contenido de la columna
//con el identificador de campo que hemos compuesto
//Si coincide, ocultamos la columna
//Obtenemos la información de objeto de la rejilla para poder comprobar
//en el bucle el valor de la propiedad "contenido"
infoRejilla=rejilla.objectInfo();
//Comprobamos si en la fórmula de la columna coincide el identificador del campo
//con el identificador de la tabla del formulario principal
//Si coincide, ocultamos la columna
for (var i=0; i<nColumnas;++i)
{
var subobjeto = infoRejilla.subObjectInfo(15,i);
var formula = subobjeto.propertyData(9);
iniFormula = formula.substr(0, longTabla)
if ( tabla == iniFormula) {
rejilla.setColumnVisible(i, false);
}
}
}
}
var rejilla = theRoot.dataView();
var nColumnas = rejilla.columnCount();
var datos = "";
for ( var columna = 0; columna < nColumnas; columna++ ) {
var columnaInfo = rejilla.objectInfo().subObjectInfo( VObjectInfo.TypeGridCol, columna );
datos += columnaInfo.name();
if ( columna+1 < nColumnas ) {
datos += ", ";
}
}
Última actualización 6mo ago