# Limpiar contenio Formulario con "Combobox"

**URL:** <https://foros.velneo.com/t/limpiar-contenio-formulario-con-combobox/7051>\
**Category:** Velneo\
**Created:** [10 Mayo, 2014 10:56 UTC](https://foros.velneo.com/t/limpiar-contenio-formulario-con-combobox/7051 "2014-05-10T10:56:56Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![integra2013](https://avatars.discourse-cdn.com/v4/letter/i/7993a0/32.png) [@integra2013](https://foros.velneo.com/u/integra2013)\
**Post date:** [10 Mayo, 2014 10:56 UTC](https://foros.velneo.com/t/limpiar-contenio-formulario-con-combobox/7051/1 "2014-05-10T10:56:56Z")

</div>

Tengo un formulario en el que realizao busquedas con varios criterios. Esa busqueda se muestra en una rejilla integrada en el propio formulario.  
Este formulario tiene varios combobox para seleccionar criterios.  
Hay tambien un botón que lanza un evento con el que limpio los controles y la rejilla, para que el usuario pueda realizar una nueva busqueda.  
Los controles que muestra el formulario estan enlazados, unos a un campo de la tabla y otros a variables locales y los combobox a tablas maestras.  
Los que apuntan contra variables locales los puedo limpiar sin problemas simplemente igualando a cero esa variable en el evento, y la rejilla la limpio con el comando procesar y cortar lista.  
Pero los combobox y los controles enlazados a campos de la tabla no encuentro forma de dejarlos vacios.  
No me vale “Aceptar sin cerrar” ni nada de eso ya que no es un formulario de alta ni es modal.  
Vengo del mundo .NET y la verdad me estoy volviendo loco por algo que considero tendría que ser sencillisimo, pero no doy con la manrea de hacerlo.  
A ver si me podeis echar una mano.  
Muchas gracias.

---

<div class="post-metadata">

**Author:** ![ramiro](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/ramiro/32/5505_2.png) [@ramiro](https://foros.velneo.com/u/ramiro)\
**Post date:** [10 Mayo, 2014 17:11 UTC](https://foros.velneo.com/t/limpiar-contenio-formulario-con-combobox/7051/2 "2014-05-10T17:11:27Z")

</div>

Buenas tardes:

Los combos tienen la mala costumbre de presentar por defecto la primera opción sin que se pueda distinguir visualmente si el valor está grabado o no…

Si los alimentas de tablas estáticas, crea un nuevo elemento en cada estática (yo suelo usar la clave “_" y sin texto. Para “anular” su presentación en el formulario, rellena el campo del combo con el valor "_” y aparentemente estará vacío. Si apuntan a tablas normales, pues algo parecido.

Después haz que tu lógica no tenga en cuenta el valor “\_” (o el que decidas usar en cada caso)

Saludos. Ramiro

---

<div class="post-metadata">

**Author:** ![integra2013](https://avatars.discourse-cdn.com/v4/letter/i/7993a0/32.png) [@integra2013](https://foros.velneo.com/u/integra2013)\
**Post date:** [11 Mayo, 2014 11:53 UTC](https://foros.velneo.com/t/limpiar-contenio-formulario-con-combobox/7051/3 "2014-05-11T11:53:40Z")

</div>

Gracias por tu ayuda Ramiro, pero no soy capaz de que funcione como queremos.  
Sinceramente no enteindo como algo tan tan sencillo se puede complicar tanto… estoy seguro que en parte es culpa del desconocimiento de la herramienta, pero tampoco encontramos ningún tipo de información por ningún lado.  
¿No hay forma de que por medio de eventos o lo que sea, cuando pulse el botón de limpiar campos, el formulario se reinicie y se quede como cuando lo abro?

Bueno lo diho gracias por tu ayuda, pero nos estamos desilusionando con la herramienta.

---

<div class="post-metadata">

**Author:** ![ereitmann](https://avatars.discourse-cdn.com/v4/letter/e/8491ac/32.png) [@ereitmann](https://foros.velneo.com/u/ereitmann)\
**Post date:** [11 Mayo, 2014 14:11 UTC](https://foros.velneo.com/t/limpiar-contenio-formulario-con-combobox/7051/4 "2014-05-11T14:11:01Z")

</div>

Se me ocurre que podrías utilizar en vez de combovox controles de edición enlazados a tablas maestras, con el boton arriba abajo, agregas a la propiedad del control “Vista de datos de lista”, una rejilla que te mostraría todas las opciones de la tabla maestra y también a la propiedad tipo de menú de boton: botón Izquierda, al que le puedes asignar un menú de botón para un localizador de esas opciones, altas y edición de las mismas, así esta en Vbase en los formularios viejos, o en viejas versiones,

De esta forma puedes siempre limpiar el contenido de los controles con eventos ya que cuando se abre el formulario aparecen vacios, y si quieres sub indexarlos también puedes,.

---

<div class="post-metadata">

**Author:** ![asesoria-entreplazas](https://avatars.discourse-cdn.com/v4/letter/a/bb73d2/32.png) [@asesoria-entreplazas](https://foros.velneo.com/u/asesoria-entreplazas)\
**Post date:** [11 Mayo, 2014 14:50 UTC](https://foros.velneo.com/t/limpiar-contenio-formulario-con-combobox/7051/5 "2014-05-11T14:50:26Z")

</div>

Prueba un comboview, que lo cargas por proceso y eliges ficha

---

<div class="post-metadata">

**Author:** ![angelmozas](https://avatars.discourse-cdn.com/v4/letter/a/edb3f5/32.png) [@angelmozas](https://foros.velneo.com/u/angelmozas)\
**Post date:** [11 Mayo, 2014 19:18 UTC](https://foros.velneo.com/t/limpiar-contenio-formulario-con-combobox/7051/6 "2014-05-11T19:18:33Z")

</div>

Prueba con un manejador de evento que modifque los campos puntero del combobox al valor 0.

Saludos

---

<div class="post-metadata">

**Author:** ![velavisual1](https://avatars.discourse-cdn.com/v4/letter/v/dbc845/32.png) [@velavisual1](https://foros.velneo.com/u/velavisual1)\
**Post date:** [11 Mayo, 2014 19:45 UTC](https://foros.velneo.com/t/limpiar-contenio-formulario-con-combobox/7051/7 "2014-05-11T19:45:44Z")

</div>

@Integra2013

El control combobox en V7 puede ser usado solamente para editar campos enlazados a tablas maestras o campos enlazados a tablas estáticas.

En la base de conocimiento técnica, tienes un artículo sobre **Interactuar con un control combo box mediante JavaScript**

Explica cómo:

- Asignar registros al combo box
- Leer el ítem seleccionado en el combo

---

<div class="post-metadata">

**Author:** ![pacosatu](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/pacosatu/32/5131_2.png) [@pacosatu](https://foros.velneo.com/u/pacosatu)\
**Post date:** [11 Mayo, 2014 22:59 UTC](https://foros.velneo.com/t/limpiar-contenio-formulario-con-combobox/7051/8 "2014-05-11T22:59:27Z")

</div>

Hola integra2013.

Efectivamente, hacer lo que quieres parece en principio sencillo y debería de funcionar tal como se espera.

Los comboxbox aparecen en blanco cuando se carga el formulario con un registro nuevo. Cuando seleccionamos manualmente un valor del combobox ya no hay forma de blanquear el combobox ni siquiera por código haciendo “Modificar campo(#CAMPO\_PUNTERO, 0)”. Esto yo considero que es un mal funcionamiento del control combobox y debería de arreglarse.

Como apunta Ramiro en las tablas estáticas es fácil añadir un valor que sea el valor vacío, pero en las tablas maestras es un engorro.

Como muchas veces ocurre y apunta Antonio, el JavaScript nos permitirá salvar esta carencia del código nativo Velneo.

Así para borrar los controles de búsqueda:

- Controles enlazados a Variables Locales -\> vaciar la variables local
- Controles enlazados a campos -\> comando Velneo: Modificar campo(#CAMPO, “”)
- Controles enlazados a campos maestros o tablas estáticas con combobox -\> ejecutas un manejador de evento JavaScript con el siguiente código:

var form = theRoot.dataView() // formualrio activo  
form.control(“CBO\_EMPRESA”).currentIndex = -1 // maestro  
form.control(“CBO\_EMPLEADO\_TIPO”).currentIndex = -1 // estática

Pruébalo y nos cuentas  
Saludos  
Paco Satue

---

<div class="post-metadata">

**Author:** ![integra2013](https://avatars.discourse-cdn.com/v4/letter/i/7993a0/32.png) [@integra2013](https://foros.velneo.com/u/integra2013)\
**Post date:** [11 Mayo, 2014 23:11 UTC](https://foros.velneo.com/t/limpiar-contenio-formulario-con-combobox/7051/9 "2014-05-11T23:11:07Z")

</div>

Buenas noches Paco… Acabo de probar tu solución y… ERES MI HEROE!!!  
Funciona perfectamente.  
Con tu solución he creado un manejador de evento que limpia todos los controles… hasta los combobox.

Muchisimas gracias a todos por vuestra ayuda y a Paco por su solución…

Un saludo.

Alberto.

---

<div class="post-metadata">

**Author:** ![integra2013](https://avatars.discourse-cdn.com/v4/letter/i/7993a0/32.png) [@integra2013](https://foros.velneo.com/u/integra2013)\
**Post date:** [12 Mayo, 2014 00:35 UTC](https://foros.velneo.com/t/limpiar-contenio-formulario-con-combobox/7051/10 "2014-05-12T00:35:18Z")

</div>

Abusando un poco más Paco… en el formulario hay controles de edicción alfanumerica que estan enlazados a campos de tablas maestras.  
El botón de “limpiar” tambien debe borrar el contenido que tengan. Estoy intentandolo con:  
form.control(“NOMBRE”).clear()  
pero no hace nada, no da error pero no borra el contenido del control.  
Lo estoy haciendo mal verdad?  
Cual sería la forma?

Gracias y perdona el abuso… 🙂

---

<div class="post-metadata">

**Author:** ![pacosatu](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/pacosatu/32/5131_2.png) [@pacosatu](https://foros.velneo.com/u/pacosatu)\
**Post date:** [12 Mayo, 2014 07:16 UTC](https://foros.velneo.com/t/limpiar-contenio-formulario-con-combobox/7051/11 "2014-05-12T07:16:43Z")

</div>

Hola integra2013.

Parece ser que la propiedad currentIndex también funciona para la clase VBoundFieldEdit.

Pruébalo  
Saludos  
Paco Satué

---

<div class="post-metadata">

**Author:** ![integra2013](https://avatars.discourse-cdn.com/v4/letter/i/7993a0/32.png) [@integra2013](https://foros.velneo.com/u/integra2013)\
**Post date:** [18 Mayo, 2014 00:26 UTC](https://foros.velneo.com/t/limpiar-contenio-formulario-con-combobox/7051/12 "2014-05-18T00:26:49Z")

</div>

Bueno, después de probar y probar (gracias Paco por tu inestimable ayuda, aunque con los controles de edición alfabetica no he sido capaz de conseguir borrar el contenido con js) la única solución que he encontrado es asignar el control a una variable y luego en el alta tratarlas.  
Ahora me surgen mil consultas, pero bueno eso ya es otra historia…

De nuevo gracias a todos y en especial a Paco.

---

<div class="post-metadata">

**Author:** ![pacosatu](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/pacosatu/32/5131_2.png) [@pacosatu](https://foros.velneo.com/u/pacosatu)\
**Post date:** [19 Mayo, 2014 09:11 UTC](https://foros.velneo.com/t/limpiar-contenio-formulario-con-combobox/7051/13 "2014-05-19T09:11:56Z")

</div>

Hola integra2013.

Me alegro que te hayan servido las indicaciones. De todas formas yo sí que consigo borrar el contenido de un objeto VBoundFieldEdit con la propiedad currentIndex = -1. Por lo menos así lo he probado en la 7.15.

Saludos  
Paco Satué

---

<div class="post-metadata">

**Author:** ![fjpnovo](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/fjpnovo/32/5333_2.png) [@fjpnovo](https://foros.velneo.com/u/fjpnovo)\
**Post date:** [11 Julio, 2016 16:19 UTC](https://foros.velneo.com/t/limpiar-contenio-formulario-con-combobox/7051/14 "2016-07-11T16:19:30Z")

</div>

Hola Paco:

Muchas gracias por la info, me ha sido muy útil. 😉

---

<div class="post-metadata">

**Author:** ![pacosatu](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/pacosatu/32/5131_2.png) [@pacosatu](https://foros.velneo.com/u/pacosatu)\
**Post date:** [11 Julio, 2016 19:46 UTC](https://foros.velneo.com/t/limpiar-contenio-formulario-con-combobox/7051/15 "2016-07-11T19:46:51Z")

</div>

Hola Fran.

Gracias a tí por dejar constancia de que las respuestas del foro han sido útiles.

Espero que cunda el ejemplo.  
No solo hay que saber preguntar sino que “es de bien nacidos ser agradecidos”.

Saludos  
Paco Satué

---

<div class="post-metadata">

**Author:** ![mat.cas](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/mat.cas/32/5720_2.png) [@mat.cas](https://foros.velneo.com/u/mat.cas)\
**Post date:** [10 Agosto, 2018 20:20 UTC](https://foros.velneo.com/t/limpiar-contenio-formulario-con-combobox/7051/16 "2018-08-10T20:20:40Z")

</div>

Hola, ahora que pasaron 2 años… esto sigue así en version 23 ?  
es decir debemos seguir usando JS para vaciar los comboboxs o ya se puede hacer via velneo (como deberia!) ?

---

<div class="post-metadata">

**Author:** ![sergioinfortic](https://avatars.discourse-cdn.com/v4/letter/s/e8c25b/32.png) [@sergioinfortic](https://foros.velneo.com/u/sergioinfortic)\
**Post date:** [21 Agosto, 2018 09:02 UTC](https://foros.velneo.com/t/limpiar-contenio-formulario-con-combobox/7051/17 "2018-08-21T09:02:15Z")

</div>

Que yo sepa, sigue igual
