by AngelSalom » Thu Jan 05, 2006 3:24 pm
Yo después de mucho rabiar hago esto y funciona bastante bien.
Al borrar :
(cAlias)->(DbDelete())
(cAlias)->(DbUnLock())
(cAlias)->(DbSkip())
oLbx:SetFocus()
If !(cAlias)->(Eof())
oLbx:Refresh()
Else
oLbx:GoUp()
oLbx:Refresh()
Endif
También puedes probar con :
oLbx:SetFocus()
oLbx:UpStable()
oLbx:Refresh()
O con :
Function RefrescaBrowse (oLbx)
/* ====================================================================================================
Hace un refresco correcto del browse que se le pasa.
Adaptado al tsbrowse 7.1
Parámetros:
oLbx . Listbox a procesar
Devuelve (nil)
----------------------------------------------------------------------------------------------------
Fecha creación:06/12/2005 19:44
Creado por:Angel
Última revisión:06/12/2005 19:45
Revisado por:Angel
====================================================================================================
*/
oLbx:SetFocus()
oLbx:ResetBarPos()
oLbx:UpStable()
oLbx:Reset()
oLbx:Refresh()
Return (nil)
De todas formas, el tsbrowse 7.1 se vuelve turuleto con los registros borrados, siempre y cuando la parte "visible" del browse no esté lleno de registros. Si tienes más registros de los que se ven en pantalla no tendrás problemas.
Mientras tanto tienes que hacer algunos trucos "sucios" para que se muestre medianamente decente.
No te olvides de comprobar Ctrl+AvPag y Ctrl+RePag que también funcionan "raro" cuando hay registros borrados.
Un saludo.
Angel Salom
Visionwin Software -
https://www.visionwin.com------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4