# VAbstractListDataView

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

**Heredado por:** [VAdvandedGridListDataView](https://doc.velneo.com/27/velneo-vdevelop/scripts/lenguajes/javascript/clases/vadvandedgridlistdataview), [VAlternatorListDataView](https://doc.velneo.com/27/velneo-vdevelop/scripts/lenguajes/javascript/clases/valternatorlistdataview), [VComboListDataView](https://doc.velneo.com/27/velneo-vdevelop/scripts/lenguajes/javascript/clases/vcombolistdataview), [VCoverFlowListDataView](https://doc.velneo.com/27/velneo-vdevelop/scripts/lenguajes/javascript/clases/vcoverflowlistdataview), [VFormBlockListDataView](https://doc.velneo.com/27/velneo-vdevelop/scripts/lenguajes/javascript/clases/vformblocklistdataview), [VGridListDataView](https://doc.velneo.com/27/velneo-vdevelop/scripts/lenguajes/javascript/clases/vgridlistdataview), [VListDataView](https://doc.velneo.com/27/velneo-vdevelop/scripts/lenguajes/javascript/clases/vlistdataview), [VMultiDataView](https://doc.velneo.com/27/velneo-vdevelop/scripts/lenguajes/javascript/clases/vmultidataview), [VQmlListDataView](https://doc.velneo.com/27/velneo-vdevelop/scripts/lenguajes/javascript/clases/vqmllistdataview), [VReportListDataView](https://doc.velneo.com/27/velneo-vdevelop/scripts/lenguajes/javascript/clases/vreportlistdataview), [VScriptFolder](https://github.com/velneo/documentacion-de-velneo/tree/c9b0a763081be854a33d8ab459aa288833ea168d/vabstractdataview/vabstractlistdataview/vscriptfolder.md), [VSlotListDataView](https://doc.velneo.com/27/velneo-vdevelop/scripts/lenguajes/javascript/clases/vslotlistdataview), [VTreeListDataView](https://doc.velneo.com/27/velneo-vdevelop/scripts/lenguajes/javascript/clases/vtreelistdataview), [VTreeMultiTableListDataView](https://doc.velneo.com/27/velneo-vdevelop/scripts/lenguajes/javascript/clases/vtreemultitablelistdataview).

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

## Funciones

**Generales**

| Retorno | Función                                                                          |
| ------- | -------------------------------------------------------------------------------- |
| 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**

| Retorno | Función                                                                              |
| ------- | ------------------------------------------------------------------------------------ |
| Number  | [currentSelect](#currentselect)()                                                    |
| void    | [setCurrentSelect](#setcurrentselect)( Number index )                                |
| void    | [setCurrentSelect](#void-setcurrentselect-vregister-register-)( VRegister register ) |

**De multiselección**

| Retorno | Funció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**

| Retorno                                                                                                  | Función                                                   |
| -------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- |
| void                                                                                                     | [allToBasket](#alltobasket)()                             |
| Number                                                                                                   | [basketCount](#basketcount)()                             |
| [VObjectInfo](https://doc.velneo.com/27/velneo-vdevelop/scripts/lenguajes/javascript/clases/vobjectinfo) | [basketObjectInfo](#basketobjectinfo)( Number index )     |
| [VObjectInfo](https://doc.velneo.com/27/velneo-vdevelop/scripts/lenguajes/javascript/clases/vobjectinfo) | [defaultBasketObjectInfo](#defaultbasketobjectinfo)()     |
| Boolean                                                                                                  | [isBasketEnabled](#isbasketenabled)()                     |
| void                                                                                                     | [openBasket](#openbasket)()                               |
| void                                                                                                     | [selectedToBasket](#selectedtobasket)()                   |
| void                                                                                                     | [setBasketEnabled](#setbasketenabled)( Boolean bEnabled ) |
| void                                                                                                     | [setDefaultBasket](#setdefaultbasket)( Number index )     |

**De comandos**

| Retorno | Función                           |
| ------- | --------------------------------- |
| void    | [filter](#filter)()               |
| void    | [modifyField](#modifyfield)()     |
| void    | [modifyFieldIf](#modifyfieldif)() |
| void    | [order](#order)()                 |
| void    | [removeSelItem](#removeselitem)() |

**De formularios**

| Retorno | Función                                   |
| ------- | ----------------------------------------- |
| Boolean | [execDeleteForm](#execdeleteform)()       |
| Boolean | [execEditForm](#execeditform)()           |
| Boolean | [execNewRecordForm](#execnewrecordform)() |

## Señales

| Señal                        |
| ---------------------------- |
| 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/27/velneo-vdevelop/scripts/lenguajes/javascript/clases/vregister) a la lista de la vista de datos.

Parámetros:

* register: objeto [VRegister](https://doc.velneo.com/27/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/27/velneo-vdevelop/scripts/lenguajes/javascript/clases/vregisterlist) a la lista de la vista de datos.

Parámetros:

* registerList: objeto [VRegisterList](https://doc.velneo.com/27/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/27/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.

Parámetros:

* registerList: objeto [VRegisterList](https://doc.velneo.com/27/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/27/velneo-vdevelop/scripts/lenguajes/javascript/clases/vregisterlist) que pasamos como parámetro.

Parámetros:

* registerList: objeto [VRegisterList](https://doc.velneo.com/27/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/27/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/27/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/27/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/27/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/27/velneo-vdevelop/scripts/lenguajes/javascript/clases/vregisterlist) a la vista de datos.

Parámetros:

* registerList: objeto [VRegisterList](https://doc.velneo.com/27/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/27/velneo-vdevelop/scripts/lenguajes/javascript/clases/vregister) como registro seleccionado.

Parámetros:

* register: objeto [VRegister](https://doc.velneo.com/27/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/27/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/27/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/27/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/27/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/27/velneo-vdevelop/scripts/lenguajes/javascript/clases/vregisterlist) que pasamos como parámetro.

Parámetros:

* registerList: objeto [VRegisterList](https://doc.velneo.com/27/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/27/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/27/velneo-vdevelop/scripts/lenguajes/javascript/clases/vregisterlist).

Parámetros:

* registerList: objeto [VRegisterList](https://doc.velneo.com/27/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/27/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/27/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 );
    }
}
```
