In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

No refrescar un Browse

Foro público de Xailer en español
Responder
Bingen Ugaldebere
Mensajes: 1310
Registrado: Mié Sep 26, 2007 7:12 pm

No refrescar un Browse

Mensaje por Bingen Ugaldebere »

Creo haberlo leí­do alguna vez o visto en algún ejemplo pero ahora no soy
capaz de encontrarlo.
Alguno sabe como bloquear el refresco de un browse que se muestra en un
Form mientras se recorren sus registros para hacer una operación y luego
reactivarlo al terminar la operación.
Salu2.
Rolando
Mensajes: 191
Registrado: Lun May 08, 2006 2:10 pm

No refrescar un Browse

Mensaje por Rolando »

Bingen:
oDataSet:SaveState()
...
oDataSet:RestoreState()
Saludos
"Bingen Ugaldebere" <bingen@muninser.com> escribió en el mensaje
news:[email=46239752@ozsrv2.ozlan.local...]46239752@ozsrv2.ozlan.local...[/email]
> Creo haberlo leído alguna vez o visto en algún ejemplo pero ahora no soy
> capaz de encontrarlo.
>
> Alguno sabe como bloquear el refresco de un browse que se muestra en un
> Form mientras se recorren sus registros para hacer una operación y luego
> reactivarlo al terminar la operación.
>
> Salu2.
correo
Mensajes: 109
Registrado: Mar Nov 22, 2005 7:15 pm

No refrescar un Browse

Mensaje por correo »

Lo lógico es que desliges el Dataset del objeto DbBrowse ,de esta forma
puedes manipular el Dataset sin que te afecte al browse .Luego puedes
volverlos a ligar
Se hace con la propiedad oDataSet:lUpdLinked := .t. es ligado y .f. es
desligado
Un saludo. Juanjo
"Bingen Ugaldebere" <bingen@muninser.com> escribió en el mensaje
news:[email=46239752@ozsrv2.ozlan.local...]46239752@ozsrv2.ozlan.local...[/email]
> Creo haberlo leído alguna vez o visto en algún ejemplo pero ahora no soy
> capaz de encontrarlo.
>
> Alguno sabe como bloquear el refresco de un browse que se muestra en un
> Form mientras se recorren sus registros para hacer una operación y luego
> reactivarlo al terminar la operación.
>
> Salu2.
Bingen Ugaldebere
Mensajes: 1310
Registrado: Mié Sep 26, 2007 7:12 pm

No refrescar un Browse

Mensaje por Bingen Ugaldebere »

Perfecto eso era y yo buscando cosas raras....
Salu2.
Juan José Garcí­a escribió:
> Lo lógico es que desliges el Dataset del objeto DbBrowse ,de esta forma
> puedes manipular el Dataset sin que te afecte al browse .Luego puedes
> volverlos a ligar
>
> Se hace con la propiedad oDataSet:lUpdLinked := .t. es ligado y .f. es
> desligado
>
> Un saludo. Juanjo
> "Bingen Ugaldebere" <bingen@muninser.com> escribió en el mensaje
> news:[email=46239752@ozsrv2.ozlan.local...]46239752@ozsrv2.ozlan.local...[/email]
>> Creo haberlo leí­do alguna vez o visto en algún ejemplo pero ahora no soy
>> capaz de encontrarlo.
>>
>> Alguno sabe como bloquear el refresco de un browse que se muestra en un
>> Form mientras se recorren sus registros para hacer una operación y luego
>> reactivarlo al terminar la operación.
>>
>> Salu2.
>
>
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9462
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

No refrescar un Browse

Mensaje por ignacio »

Bingen,
Lo que te comentaba Rolando es perfectamente válido e incluso funciona
cuando hay más de un DataControl enlazado al Dataset.
Un saludo
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Bingen Ugaldebere" <bingen@muninser.com> escribió en el mensaje
news:[email=4624717d@ozsrv2.ozlan.local...]4624717d@ozsrv2.ozlan.local...[/email]
> Perfecto eso era y yo buscando cosas raras....
>
> Salu2.
>
>
> Juan José García escribió:
>> Lo lógico es que desliges el Dataset del objeto DbBrowse ,de esta forma
>> puedes manipular el Dataset sin que te afecte al browse .Luego puedes
>> volverlos a ligar
>>
>> Se hace con la propiedad oDataSet:lUpdLinked := .t. es ligado y .f. es
>> desligado
>>
>> Un saludo. Juanjo
>> "Bingen Ugaldebere" <bingen@muninser.com> escribió en el mensaje
>> news:[email=46239752@ozsrv2.ozlan.local...]46239752@ozsrv2.ozlan.local...[/email]
>>> Creo haberlo leído alguna vez o visto en algún ejemplo pero ahora no soy
>>> capaz de encontrarlo.
>>>
>>> Alguno sabe como bloquear el refresco de un browse que se muestra en un
>>> Form mientras se recorren sus registros para hacer una operación y luego
>>> reactivarlo al terminar la operación.
>>>
>>> Salu2.
>>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Bingen Ugaldebere
Mensajes: 1310
Registrado: Mié Sep 26, 2007 7:12 pm

No refrescar un Browse

Mensaje por Bingen Ugaldebere »

Aja, pero si le paso un parámetro al SaveState( .t. ) ya lo veo en la
documentación.
Gracias.
Avatar de Usuario
Carlos Ortiz
Mensajes: 873
Registrado: Mié Jul 01, 2009 5:44 pm
Ubicación: Argentina - Córdoba
Contactar:

No refrescar un Browse

Mensaje por Carlos Ortiz »

Me paso algo similar con un browse que por encima de este cargo un form para alta y edicion de los datos, y al mover el form los datos del browse, sobre todo en donde muestro datos de otras tablas se ven alterados o puestos en blanco, solo es vista por que al volver al browse lo refresco y todo esta bien.
// En el browse uso esto para mostrar campos de otra tabla
METHOD BrwColumn10GetData( oSender, Value, nImage ) CLASS TFrmUnidades
RETURN str(::oDbf:nID,4)+" - "+busODS(::oDSEdificios,"alltrim(cNombre)","",str(::oDbf:nID),1)
// Y este es el metodo que llama al form encima del browse
METHOD MantenAlta( oSender ) CLASS TFrmUnidades
WITH OBJECT TFrmUniEdi()
:lOnAppend := .t.
:New( Application:oMainForm )
::oDbf:AddNew()
:cText := "Alta de Unidades"
:RequestState()
IF :ShowModal() == mrOK
if empty(::oDbf:nidUnid)
::oDbf:nidUnid:=LockCfg("NIDUNID")
if ::oDbf:nidUnid=0
::oBrw:Refresh()
msgstop("No se pudo asignar un ID para el registro, intente mas luego.")
RETURN .f.
endif
inccfg("NIDUNID")
endif
::oDbf:nImptotal:=::oDbf:nImpConc1+::oDbf:nImpConc2+::oDbf:n ImpConc3+::oDbf:nImpConc4
::oDbf:Update()
ELSE
::oDbf:Cancel()
ENDIF
END WITH
::oBrw:Refresh()
RETURN NIL
Debo usar campos calculados? o alguna otra cosa?
Desde ya muchas gracias.
--
Responder