Antonio, se me ha dado un caso un poco extraño,te cuento...
Yo tengo este trozo de código
.....
DEFINE dialog odlg8 resource "Menu_clientes"
redefine LISTBOX oBrw;
FIELDS tabla_ventas->nombre,tabla_ventas->fecha;
HEADERS "Nombre","Fecha" ID 300 OF oDlg8
ACTIVATE dialog odlg8
.......
Esto es un simple listbox en el que cada linea es un registro de una tabla. El problema que he visto es que, supongamos que en el listbox hay 3 lineas correspondientes a 3 registros distintos de la tabla_venta. Si se borra el primero o el segundo al refrescar el grid todo es correcto. En cambio si en vez de borrar el primero o el segundo borro directamente el ultimo no refresca bien el listbox. Solo ocurre cuando en el listbox tienes mas de una linea y quieres borrar la ultima solamente... Da la sensación de que no gestiona bien el final de la tabla...nose.
Si tienes alguna solución para evitar este problema te lo agradecería. Este error no influye para nada en la ejecución de la aplicación solo que a simple vista queda mal ya que no repinta bien el listbox...
Saludos
Elías Torres.
Error al borra la ultima posición de un browse
-
- Posts: 233
- Joined: Wed Aug 09, 2006 3:07 pm
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
-
- Posts: 233
- Joined: Wed Aug 09, 2006 3:07 pm
Antonio, ya uso el set deleted on... Creo que no es problema de mi aplicación puesto que para los demas casos borra y repinta correctamente el listbox. Pienso que pueda ser que la clase listbox no gestiona bien este tema de repintado cuando se da el caso que te he comentado. Me gustaría que lo probaras, si es posible, para que me confirmes si es algun tipo de problema de la clase o si por el contrario soy yo el que no lo está haciendo bien. Aunque como ya te he dicho para los demas casos funciona correctamente...
Saludos.
Elías Torres.
Saludos.
Elías Torres.
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
-
- Posts: 233
- Joined: Wed Aug 09, 2006 3:07 pm
- Biel EA6DD
- Posts: 680
- Joined: Tue Feb 14, 2006 9:48 am
- Location: Mallorca
- Contact:
Prueba con el siguiente código.
Code: Select all
IF !(cAlias)->(Eof()) //aqui el alias que uses
oBrw:GoUp()
ENDIF
oBrw:Refresh()
-
- Posts: 233
- Joined: Wed Aug 09, 2006 3:07 pm
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
- Biel EA6DD
- Posts: 680
- Joined: Tue Feb 14, 2006 9:48 am
- Location: Mallorca
- Contact: