# VAbstractListDataView

**Hereda de:** [VAbstractDataView](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vabstractdataview).

**Heredado por:** [VAdvandedGridListDataView](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vadvandedgridlistdataview), [VAlternatorListDataView](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/valternatorlistdataview), [VComboListDataView](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vcombolistdataview), [VCoverFlowListDataView](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vcoverflowlistdataview), [VFormBlockListDataView](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vformblocklistdataview), [VGridListDataView](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vgridlistdataview), [VListDataView](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vlistdataview), [VMultiDataView](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vmultidataview), [VQmlListDataView](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vqmllistdataview), [VReportListDataView](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vreportlistdataview), [VSlotListDataView](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vslotlistdataview), [VTreeListDataView](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vtreelistdataview), [VTreeMultiTableListDataView](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vtreemultitablelistdataview).

Clase base de todas las vistas de listas de datos: rejilla, casillero, etc.

## Indice de funciones

### **Generales**

void [appendVRegister](#append)(  register )

void [appendVRegisterList](#void-append-vregisterlist-registerlist-)(  registerList )

void [clear](#clear)()

void [cross](#void-cross-vregisterlist-registerlist-)( VRegisterList registerList )

Boolean [getList](#getlist)( VRegisterList registerList )

void [invert](#invert)()

Number [listSize](#listsize)()

void [remove](#remove)( VRegister register )

void [remove](#void-remove-vregisterlist-registerlist-)( VRegisterList registerList )

void [removeAt](#removeat)( Number index )

void [setList](#setlist)( VRegisterList registerList )

### **De ítem seleccionado**

Number [currentSelect](#currentselect)()

void [setCurrentSelect](#setcurrentselect)( Number index )

void [setCurrentSelect](#void-setcurrentselect-vregister-register-)( VRegister register )

### **De multiselección**

void [addToMultiSelectionVRegister](#void-addtomultiselection-vregisterlist-registerlist)(  register )

void [addToMultiSelectionVRegisterList](#void-addtomultiselection-vregisterlist-registerlist)( registerList)

void [clearMultiSelection](#clearmultiselection)()

Boolean [getMultiSelection](#getmultiselection)( VRegisterList registerList )

void [removeFromMultiSelection](#removefrommultiselection)( VRegister register )

void [removeFromMultiSelection](#void-removefrommultiselection-vregisterlist-registerlist-)( VRegisterList registerList )

### **De cestas**

void [allToBasket](#alltobasket)()

Number [basketCount](#basketcount)()

VObjectInfo [basketObjectInfo](#basketobjectinfo)( Number index )

VObjectInfo [defaultBasketObjectInfo](#defaultbasketobjectinfo)()

Boolean [isBasketEnabled](#isbasketenabled)()

void [openBasket](#openbasket)()

void [selectedToBasket](#selectedtobasket)()

void [setBasketEnabled](#setbasketenabled)( Boolean bEnabled )

void [setDefaultBasket](#setdefaultbasket)( Number index )

### **De comandos**

void [filter](#filter)()

void [modifyField](#modifyfield)()

void [modifyFieldIf](#modifyfieldif)()

void [order](#order)()

void [removeSelItem](#removeselitem)()

### **De formularios**

Boolean [execDeleteForm](#execdeleteform)()

Boolean [execEditForm](#execeditform)()

Boolean [execNewRecordForm](#execnewrecordform)()

## Señales

Item: cambio de seleccionado

## Documentación de funciones

### Funciones generales

#### void append( VRegister register ) <a href="#append" id="append"></a>

Añade el registro que contiene [VRegister](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vregister) a la lista de la vista de datos.

Parámetros:

* register: objeto [VRegister](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vregister) que contiene un registro.

#### void append( VRegisterList registerList )

Añade la lista que contiene [VRegisterList](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vregisterlist) a la lista de la vista de datos.

Parámetros:

* registerList: objeto [VRegisterList](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vregisterlist) que contiene una lista de registros.

#### void clear() <a href="#clear" id="clear"></a>

Vacía la lista que contiene la vista de datos.

#### void cross( VRegisterList registerList )

Cruza la lista que contiene [VRegisterList](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vregisterlist) con la que contiene la vista de datos, permaneciendo los elementos comunes en la vista de datos y quitando de ésta los no comunes. Sólo hemos de quedarnos con la lista cruzada, la otra la tendremos que deshechar.

que sólo han de quedarse con la lista cruzada, que deshechen la otra.

Parámetros:

* registerList: objeto [VRegisterList](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vregisterlist) que contiene una lista de registros.

#### Boolean getList( VRegisterList registerList ) <a href="#getlist" id="getlist"></a>

Copia la lista de la vista de datos al objeto [VRegisterList](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vregisterlist) que pasamos como parámetro.

Parámetros:

* registerList: objeto [VRegisterList](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vregisterlist) que contiene una lista de registros.

#### void invert() <a href="#invert" id="invert"></a>

Invierte la lista que contiene la vista de datos.

#### Number listSize() <a href="#listsize" id="listsize"></a>

Devuelve el número de registros que contiene la vista de datos.

#### void remove( VRegister register ) <a href="#remove" id="remove"></a>

Elimina el registro que contiene [VRegister](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vregister) de la lista que contiene la vista de datos.

Parámetros:

* register: objeto [VRegister](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vregister) que contiene un registro.

#### void remove( VRegisterList registerList )

Elimina el registro que contiene [VRegister](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vregister) de la lista que contiene la vista de datos.

Parámetros:

* registerList: objeto [VRegisterList](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vregisterlist) que contiene una lista de registros.

#### void removeAt( Number index ) <a href="#removeat" id="removeat"></a>

Elimina el registro en la posición que indicamos de la lista de la vista de datos.

Parámetros:

* index: número que indica la posición. La primera posición es 0.

#### void setList( VRegisterList registerList ) <a href="#setlist" id="setlist"></a>

Copia la lista que contiene el objeto [VRegisterList](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vregisterlist) a la vista de datos.

Parámetros:

* registerList: objeto [VRegisterList](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vregisterlist) que contiene una lista de registros.

### Funciones de ítem seleccionado

#### Number currentSelect() <a href="#currentselect" id="currentselect"></a>

Devuelve la posición del registro seleccionado.

#### void setCurrentSelect( Number index ) <a href="#setcurrentselect" id="setcurrentselect"></a>

Establece el registro seleccionado por posición.

Parámetros:

* index: número que indica la posición.

#### void setCurrentSelect( VRegister register )

Establece el registro que contiene [VRegister](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vregister) como registro seleccionado.

Parámetros:

* register: objeto [VRegister](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vregister) que contiene el registro que será seleccionado si existe en la lista.

### Funciones de multiselección

#### void addToMultiSelection( VRegister register ) <a href="#addtomultiselection" id="addtomultiselection"></a>

Añade la ficha que contiene el objeto [VRegister](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vregister) a la multiselección de la vista de datos.

Parámetros:

* register: objeto [VRegister](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vregister) que contiene un registro.

#### void addToMultiSelection( VRegisterList registerList)

Añade la lista que contiene el objeto [VRegisterList](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vregisterlist) a la multiselección en la vista de datos.

Parámetros:

* registerList: objeto [VRegisterList](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vregisterlist) que contiene una lista de registros.

#### void clearMultiSelection() <a href="#clearmultiselection" id="clearmultiselection"></a>

Limpia la multiselección de la vista de datos.

#### Boolean getMultiSelection( VRegisterList registerList ) <a href="#getmultiselection" id="getmultiselection"></a>

Copia los registros de la multiselección a [VRegisterList](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vregisterlist) que pasamos como parámetro.

Parámetros:

* registerList: objeto [VRegisterList](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vregisterlist) que contiene una lista de registros.

#### void removeFromMultiSelection( VRegister register ) <a href="#removefrommultiselection" id="removefrommultiselection"></a>

Quita de la multiselección en la vista de datos el registro que contiene [VRegister](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vregister).

Parámetros:

* register: objeto&#x20;

[VRegister](file:///C:/Users/rcueto/Downloads/clases/VRegister.html)

que contiene un registro.

#### void removeFromMultiSelection( VRegisterList registerList )

Quita de la multiselección en la vista de datos la lista que contiene [VRegisterList](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vregisterlist).

Parámetros:

* registerList: objeto [VRegisterList](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vregisterlist) que contiene una lista de registros.

### Funciones de cestas

#### void allToBasket() <a href="#alltobasket" id="alltobasket"></a>

Copia toda la lista a la cesta.

#### Number basketCount() <a href="#basketcount" id="basketcount"></a>

Devuelve el número de objetos cestas cuya tabla se corresponde con la del objeto.

#### VObjectInfo basketObjectInfo( Number index ) <a href="#basketobjectinfo" id="basketobjectinfo"></a>

Devuelve un objeto de la clase [VObjectInfo ](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vobjectinfo)correspondiente a la cesta cuyo índice pasamos como parámetro.

Parámetros:

* index: número que indica la cesta.

#### VObjectInfo defaultBasketObjectInfo() <a href="#defaultbasketobjectinfo" id="defaultbasketobjectinfo"></a>

Devuelve un objeto de la clase [VObjectInfo](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vobjectinfo) de la cesta por defecto.

#### Boolean isBasketEnabled() <a href="#isbasketenabled" id="isbasketenabled"></a>

Devuelve true si la cesta está habilitada.

#### void openBasket() <a href="#openbasket" id="openbasket"></a>

Abre la cesta por defecto.

#### void selectedToBasket() <a href="#selectedtobasket" id="selectedtobasket"></a>

Copia los registros seleccionados a la cesta por defecto.

#### void setBasketEnabled( Boolean bEnabled ) <a href="#setbasketenabled" id="setbasketenabled"></a>

Habilita la cesta.

Parámetros:

* bEnabled: booleano que configura si se habilita. True habilita, false deshabilita.

#### void setDefaultBasket( Number index ) <a href="#setdefaultbasket" id="setdefaultbasket"></a>

Establece la cesta por defecto.

Parámetros:

* index: número que indica la cesta.

### Funciones de comandos

#### void filter() <a href="#filter" id="filter"></a>

Lanza la opción de Filtrar sobre la vista de datos.

#### void modifyField() <a href="#modifyfield" id="modifyfield"></a>

Lanza la opción de Modificar campo sobre la vista de datos.

#### void modifyFieldIf() <a href="#modifyfieldif" id="modifyfieldif"></a>

Lanza la opción de Modificar campo si... sobre la vista de datos.

#### void order() <a href="#order" id="order"></a>

Lanza la opción de Ordenar sobre la vista de datos.

#### void removeSelItem() <a href="#removeselitem" id="removeselitem"></a>

Lanza la opción de Quitar ficha de la lista sobre la vista de datos.

### Funciones de formularios

#### Boolean execDeleteForm() <a href="#execdeleteform" id="execdeleteform"></a>

Lanza el formulario de eliminación de la vista de datos.

#### Boolean execEditForm() <a href="#execeditform" id="execeditform"></a>

Lanza el formulario de edición de la vista de datos.

#### Boolean execNewRecordForm() <a href="#execnewrecordform" id="execnewrecordform"></a>

Lanza el formulario de nuevo registro de la vista de datos.

## Ejemplos

### 1. Deja solo los seleccionados en la vista activa

```javascript
var curView = theMainWindow.currentView();

if ( curView && curView.root() )
{
    var listDataView = curView.root().dataView();

    if ( listDataView && listDataView.isListType() )
    {
        var listaSel = new VRegisterList( theRoot );

        if ( listDataView.getMultiSelection( listaSel ) )
            listDataView.setList( listaSel );
    }
}
```

### 2. Lanzar el menú de filtros desde un manejador de evento de una rejilla

```javascript
var rejilla = theRoot.dataView();
rejilla.filter();
```
