Page 1 of 1

Pintar/Refrescar datos con TSBrowse

Posted: Tue Mar 11, 2008 7:13 pm
by ermatica
Buenas tardes a todos,

Poseo un dialogo creado con recursos en el cual muestro un browse (clase TSBrowse del Sr. Manuel Mercado recien bajada) de una tabla DBF indexada por un indice (compuesto por dos numeros). En ese mismo dialogo tengo botones para ir al primer registro, siguiente, anterior y ultimo registro. El caso es que va bien el movimiento con los metodos oBrw:Gotop(), etc., colocando el puntero y el browse.

Pero cuando hago una busqueda mediante el indice:

Code: Select all

select (cAlias1)
ordsetfocus(1)
if dbseek ( str(nro1)+str(nro2) )
  oBrw:SetFocus()
  oBrw:ResetBarPos()
  oBrw:UpStable()
  oBrw:Refresh()
Endif
El browse no se refresca o pintan los datos, pero si está colocado el puntero, ya que al hacer un click sobre browse van apareciendo los registros y sus datos a partir del registro buscado.

Alguna sugerencia?

Muchas gracias de antemano.
FWH 8.02 + Borland + PellesC

Solucionado

Posted: Tue Mar 11, 2008 7:33 pm
by ermatica

Code: Select all

oDlgBrw:Update()  //refrescar dialogo

oBrw:SetFocus()
oBrw:ResetBarPos()
oBrw:UpStable()
oBrw:Refresh()
Perdon por las molestias :oops:

Posted: Tue Mar 11, 2008 7:37 pm
by ARCC
Buen día para todos...

Ermatica, tienes toda la razon ya que a mi me pasa lo mismo, casualmente ayer estaba probando y me pasa identico que a ti, me imagino que debe ser un problema con el pintado del Browse, esperemos que el amigo Manuel Mercado nos de una mano con esto en cuanto tenga un chance.

Re: Pintar/Refrescar datos con TSBrowse

Posted: Tue Mar 11, 2008 10:49 pm
by mmercado
Hola Ernesto y Antonio:
ermatica wrote:Pero cuando hago una busqueda mediante el indice:
El browse no se refresca o pintan los datos, pero si está colocado el puntero, ya que al hacer un click sobre browse van apareciendo los registros y sus datos a partir del registro buscado.
Prueba lo siguiente:

Code: Select all

 (oBrw:SetFocus(), oBrw:ExpSeek( str(nro1)+str(nro2) )
No necesitas más instrucciones, el Browse debe tener el foco y de lo demás se encarga oBrw:ExpSeek()

Saludos

Manuel Mercado

Posted: Wed Mar 12, 2008 9:42 pm
by ermatica
Muchas gracias por la ayuda Sr. Manuel.
He probado y la cuestión está en mantener el foco en el browse.
Funciona estupendamente!!!


Un cordial saudo. :D

Re: Pintar/Refrescar datos con TSBrowse

Posted: Wed Mar 12, 2008 10:25 pm
by ARCC
Buen día para todos...
mmercado wrote:Hola Ernesto y Antonio:
Prueba lo siguiente:

Code: Select all

 (oBrw:SetFocus(), oBrw:ExpSeek( str(nro1)+str(nro2) )
No necesitas más instrucciones, el Browse debe tener el foco y de lo demás se encarga oBrw:ExpSeek()

Saludos

Manuel Mercado
Que tal Manuel, entiendo pero en mi caso realizo la búsqueda por medio de un oGet, como tendría que hacer???

REDEFINE GET oGet VAR cText ID 210 OF oDlg;
PICTURE "@!";
ON CHANGE (Self:Assign(),;
oBrw:SetFocus(),;
oBrw:ExpSeek(SubStr(cText, 1, oGet:nPos-1)),;
oGet:SetFocus())

Si lo coloco de esta forma el Browse se posiciona en el registro pero no se refresca. y si elimino el oGet:SetFocus() funciona bien pero el get queda sin el foco. Alguna recomendación???

Posted: Mon Mar 17, 2008 4:48 pm
by ARCC
Buen día...

Que tal amigo Menuel Mercado, será que me pueda orientar por favor con lo descrito en mi post pasado. Gracias