VGridListDataView

Hereda de: VAbstractListDataView.

Esta clase representa a un objeto rejilla.

Indice de funciones

Generales

Boolean isSortingEnabled()

void setShowGrid( Boolean show )

void setSortingEnabled( Boolean set )

Boolean showGrid()

De columnas

Number columnCount()

Number columnWidth( Number column )

Boolean isColumnHidden( Number column )

void resetColumnVisibility( Number column )

void resizeColumnsToContents()

void resizeColumnToContents( Number column )

void setColumnVisible( Number column, Boolean visible )

void setColumnWidth( Number column, Number width )

Number visibleColumnCount()

De filas

Boolean isRowHidden( Number row )

void resizeRowsToContents()

void resizeRowToContents( Number row )

void setRowVisible( Number row, Boolean visible )

De edición

void editItem( Number row )

void editItem( Number row, Number column )

void editItem( Number row, String idColumn )

De data

Variant data( Number nRow, Number column )

void dataImage( Number row, Number column, image )

Number dataType( Number column )

Enumeraciones

DataType

  • TypeNone = 0

  • TypeString = 1

  • TypeNumber = 2

  • TypeDate = 3

  • TypeTime = 4

  • TypeDateTime = 5

  • TypeImage = 6

Documentación de funciones

Funciones generales

Boolean isSortingEnabled()

Devuelve true si la ordenación de la rejilla haciendo clic en la cabecera de columnas está activada.

void setShowGrid( Boolean show )

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.

void setSortingEnabled( Boolean set )

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.

Boolean showGrid()

Devuelve true si el grid de la rejilla está visible y false si está oculto.

Funciones de columnas

Number columnCount()

Devuelve el número de columnas que contiene la rejilla.

Number columnWidth( Number column )

Devuelve el ancho en píxeles de la columna especificada en el parámetro.

Parámetros:

  • column: número de la columna.

Boolean isColumnHidden( Number column )

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.

void resetColumnVisibility( Number column )

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.

void resizeColumnsToContents()

Cambia el ancho de la todas las columnas en función de los datos visualizados en cada columna.

void resizeColumnToContents( Number column )

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.

void setColumnVisible( Number column, Boolean visible )

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.

void setColumnWidth( Number column, Number width )

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.

Number visibleColumnCount()

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().

Funciones de filas

Boolean isRowHidden( Number row )

Devuelve true si la fila especificada está oculta.

Parámetros:

  • row: número de la fila.

void resizeRowsToContents()

Cambia el alto de todas las filas en función de los datos visualizados.

void resizeRowToContents( Number row )

Cambia el alto de la fila especificada en función de los datos visualizados.

Parámetros:

  • row: número de la fila.

void setRowVisible( Number row, Boolean visible )

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.

Funciones de edición

void editItem( Number row )

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.

void editItem( Number row, Number column )

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.

void editItem( Number row, String idColumn )

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.

Funciones data

Variant data( Number nRow, Number column )

Devuelve el contenido visualizado en una celda de la rejilla.

Parámetros:

  • row: número de la fila.

  • column: número de la columna.

void dataImage( Number row, Number column, VImage image )

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.

  • image: objeto de la clase VImage que contendrá la imagen visualizada en la celda.

Number dataType( Number column )

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.

Ejemplos

1. Inhabilitar la ordenación al pulsar cabeceras de rejillas de una rejilla incrustada en un formulario

var formulario = theRoot.dataView();
var rejilla = formulario.control("LST");
rejilla.setSortingEnabled(false);

2. Iniciar la edición en una rejilla editable incrustada en un formulario en una fila y columna concretas

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

3. Ocultar las columnas de la tabla del formulario maestro

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

4. Concatenar en una variable local los títulos de las columnas de una rejilla desde un manejador de evento de la misma

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