Twbrowse Refresca al pasar por encima el raton
Twbrowse Refresca al pasar por encima el raton
Buenas
Tengo una aplicación un poco antigua, que tengo que modificar.
En ella estoy utilizando twbrowse, y me ocurre que en una columna, y sólo en esa columna no me aparece el dato hasta que paso con el ratón por encima.
Esa columna está construida como las demás.
Pongo una foto:
Antes de pasar el raton:
Despues de pasar el raton:
Columna F/E
Un Saludo
Tengo una aplicación un poco antigua, que tengo que modificar.
En ella estoy utilizando twbrowse, y me ocurre que en una columna, y sólo en esa columna no me aparece el dato hasta que paso con el ratón por encima.
Esa columna está construida como las demás.
Pongo una foto:
Antes de pasar el raton:
Despues de pasar el raton:
Columna F/E
Un Saludo
--------------------------
Saludos
Jose Luis
Saludos
Jose Luis
Re: Twbrowse Refresca al pasar por encima el raton
Muestra el código. És un campo númerico?
João Santos - São Paulo - Brasil
Re: Twbrowse Refresca al pasar por encima el raton
El dato es tipo caracter.
Éste dato viene de una consulta mysql
Lo curioso es que si quito ésta columna, me ocurre lo mismo con la siguiente.
Codigo del listbox:
Codigo de la busqueda:
Éste dato viene de una consulta mysql
Lo curioso es que si quito ésta columna, me ocurre lo mismo con la siguiente.
Codigo del listbox:
Code: Select all
TWBrowse():lHScroll:= .F.
@ 30, 0 LISTBOX oLbx FIELDS aHBitmaps[ Max( 1, val((aAlias[24])->Estado) ) ],;
(aAlias[24])->Albaran,;
dtoc((aAlias[24])->Fecha),;
oemtoansi((aAlias[24])->pro),;
(aAlias[24])->pobla,;
(aAlias[24])->CR,;
oemtoansi((aAlias[24])->prou),;
(aAlias[24])->pobla1,;
transform(((aAlias[24])->baseimpo),"@Z 99,999.99"),;
transform(((aAlias[24])->kkilos),"@Z 999"),;
transform(((aAlias[24])->kilos),"@Z 99,999"),;
(aAlias[24])->factura,;
(aAlias[24])->Codart,;
iif ((aAlias[24])->Tipo=1,'Credito','Contado'),;
transform(((aAlias[24])->Orden),"@Z 9999999"),;
iif((aAlias[33])->(Dbseek(str((aAlias[24])->Orden,7))),aHBitmap1[1]," " ),;
iif(conexion = "S",(buscasql(oLbx,transform(((aAlias[24])->Orden),"@Z 9999999"),oRs,1))," "),; // HACE LA LLAMADA A MYSQL, ESTA COLUMNA SE MUESTRA AL PASAR SOBRE ELLA
iif(conexion = "S",(buscasql(oLbx,transform(((aAlias[24])->Orden),"@Z 9999999"),oRs,2))," "),;
iif(conexion = "S",(buscasql(oLbx,transform(((aAlias[24])->Orden),"@Z 9999999"),oRs,3))," "),;
(aAlias[24])->nConductor,;
(aAlias[24])->N_Reexp,;
(aAlias[24])->Spro,;
(aAlias[24])->Graba,;
(aAlias[24])->Operador;
HEADERS " F "," Numero ", " Fecha ", " Cliente ", "Pobla", "T","Origen/Destino", "Pobla", " Importe ", " Bult. ", " Kilos "," Factura "," Tarifa ","Tipo","Orden","In" ,"F/E","H/E","C/E"," Conductor " ,"Reexpedido","SPro","Fhora"," Operador ";
FIELDSIZES 15, 50, 55, 220, 120, 15, 220, 120, 42, 25, 32, 45, 35, 45, 50, 15, 55, 35, 25, 200, 120, 120, 120, 100;
ALIAS aAlias[24];
CURSOR oCurdedo;
COLOR CLR_BLACK, nRGB(226,226,208);
ON LEFT DBLCLICK (iif(!(aAlias[24])->(eof()) .and. Publicas:cAccesoM,(cTitulo:="Visualización de Albaranes ",Entalba1(cTitulo,"V",,aAlias),oLbx:Refresh()),.T.));
OF oDlg;
PIXEL
Code: Select all
//---------------------------------
FUNCTION Buscasql(oBrw,cBuscar,oRs,tipo)
lOCAL valor
LOCAL nLen:=Len(cBuscar)
STATIC nLenAnt
DEFAULT nLenAnt:=0
IF Len(cBuscar)>1
IF(nLenAnt>nLen,oRs:MoveFirst(),)
oRs:Find( "NO_PEDIDO LIKE '"+cBuscar+"*'",,1)
if oRs:Eof
oRs:MoveFirst()
valor:=" "
else
do case
case tipo=1
valor:= oRs:Fields("FECHAPOD"):Value
case tipo=2
valor:= oRs:Fields("HORAPOD"):Value
case tipo=3
valor:= oRs:Fields("FIRMAPOD"):Value
end case
endif
// ELSE
// oRs:MoveFirst()
// IF !Empty(cBuscar)
// oRs:Find( "NO_PEDIDO LIKE '"+cBuscar+"*'",,1)
// ENDIF
ENDIF
nLenAnt:=nLen
RETURN valor
--------------------------
Saludos
Jose Luis
Saludos
Jose Luis
Re: Twbrowse Refresca al pasar por encima el raton
TWBrowse():lHScroll:= .F. ?? esto és la WBROWSE.PRG de Hernan? Porquê no usas Nativa és mejor?
Saludos.
Code: Select all
Donde esta el:
oBrw:GoBottom()
oBrw:Refresh()
oBrw:Gotop()
ó solo:
oBrw:Refresh()
João Santos - São Paulo - Brasil
Re: Twbrowse Refresca al pasar por encima el raton
Aqui:
Saludos.
Code: Select all
FUNCTION Buscasql(oLbx,cBuscar,oRs,tipo) // no oBrw
y use el refresh()
João Santos - São Paulo - Brasil
Re: Twbrowse Refresca al pasar por encima el raton
Has probado a no ponerle el picture "@Z" ?
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Re: Twbrowse Refresca al pasar por encima el raton
Buenas
El Refresh() sí lo tengo en el código.
También he probado el tema del picture, pero sigue igual.
Lo curioso es que siempre ocurre con la primera linea que hace la llamada a la función que busca en la tabla mysql (buscasql()), es decir que tengo
Esto solo ocurre con la primera, si la elimino, ocurre con la segunda, y si al contrario pongo una columna antes que estas tres, ocurre con ésta que pongo, y estas tres las pinta correctamente
Es curioso.
El Refresh() sí lo tengo en el código.
También he probado el tema del picture, pero sigue igual.
Lo curioso es que siempre ocurre con la primera linea que hace la llamada a la función que busca en la tabla mysql (buscasql()), es decir que tengo
Code: Select all
iif(conexion = "S",(buscasql(oLbx,transform(((aAlias[24])->Orden),"@Z 9999999"),oRs,1))," "),; // HACE LA LLAMADA A MYSQL, ESTA COLUMNA SE MUESTRA AL PASAR SOBRE ELLA
iif(conexion = "S",(buscasql(oLbx,transform(((aAlias[24])->Orden),"@Z 9999999"),oRs,2))," "),;
iif(conexion = "S",(buscasql(oLbx,transform(((aAlias[24])->Orden),"@Z 9999999"),oRs,3))," "),;
Es curioso.
--------------------------
Saludos
Jose Luis
Saludos
Jose Luis
Re: Twbrowse Refresca al pasar por encima el raton
Buenas
Para salir del paso, en vista de que siempre, la primera consulta que hago es la que tiene el problema de refresco, lo que he optado es por hacer dos consultas seguidas sobre el mismo dato y para la primera columna, y todo correcto, al devolverme el valor en la segunda consulta, se pinta correctamente.
Hago así
No lo entiendo, pero así se queda.
Saludos
Para salir del paso, en vista de que siempre, la primera consulta que hago es la que tiene el problema de refresco, lo que he optado es por hacer dos consultas seguidas sobre el mismo dato y para la primera columna, y todo correcto, al devolverme el valor en la segunda consulta, se pinta correctamente.
Hago así
Code: Select all
iif(conexion = "S",(buscasql(oLbx,transform(((aAlias[24])->Orden),"@Z 9999999"),oRs,1),buscasql(oLbx,transform(((aAlias[24])->Orden),"@Z 9999999"),oRs,1) )," "),;
iif(conexion = "S",(buscasql(oLbx,transform(((aAlias[24])->Orden),"@Z 9999999"),oRs,2))," "),;
iif(conexion = "S",(buscasql(oLbx,transform(((aAlias[24])->Orden),"@Z 9999999"),oRs,3))," "),;
Saludos
--------------------------
Saludos
Jose Luis
Saludos
Jose Luis
Re: Twbrowse Refresca al pasar por encima el raton
Intenta con este modelo o cambie a xBrowse().
Saludos.
Code: Select all
#Include "FiveWin.ch"
REQUEST OrdKeyNo, OrdKeyCount, OrdCreate, OrdKeyGoto
FUNCTION LLAMADO()
...
SELECT( DBCADPROPO )
SET ORDER TO 01
GO TOP
cAlias := ALIAS()
REDEFINE LISTBOX oLbx FIELDS ;
( cAlias )->PROPOCOD , ;
( cAlias )->CONTRCOD , ;
XPADL( ALLTRIM( STR( ( cAlias )->CLIENCOD,12,0 ) ), 12 ) , ;
( cAlias )->CLIENTE , ;
( cAlias )->END_PROP , ;
( cAlias )->BAIR_PROP , ;
( cAlias )->CEP_PROP , ;
( cAlias )->ZELAD_RESP , ;
( cAlias )->FONE_ZRESP , ;
( cAlias )->SINDI_PROP , ;
( cAlias )->FONE_SINDI , ;
( cAlias )->FAX_SINDIC , ;
SPACE(01) ;
HEADERS ( OemToAnsi( "PROPOSTA:" ) ) , ;
( OemToAnsi( "CONTRATO:" ) ) , ;
( OemToAnsi( "CLIENTE N§" ) ) , ;
( OemToAnsi( "NOME CLIENTE:" ) ) , ;
( OemToAnsi( "ENDERE€O:" ) ) , ;
( OemToAnsi( "BAIRRO" ) ) , ;
( OemToAnsi( "C.E.P.:" ) ) , ;
( OemToAnsi( "ZELAD/RESP " ) ) , ;
( OemToAnsi( "TEL ZEL/RESP:" ) ) , ;
( OemToAnsi( "SINDICO:" ) ) , ;
( OemToAnsi( "FONE SINDICO:" ) ) , ;
( OemToAnsi( "FAX SINDICO:" ) ) , ;
( OemToAnsi( " - " ) ) ;
FIELDSIZES 90, 90, 120, 400, 400, 200, 90, 300, 300, 200, 210, ;
210, 01 ;
COLOR CLR_BROWN, CLR_LGREEN FONT oFnt UPDATE ID 101 OF oDlg ;
ON DBLCLICK( GETCHAMADO( .F., oLbx ), ;
oLbx:SetFocus(), oLbx:Refresh(), oLbx:DrawSelect() )
// Tooltip com imagem. Pode-se usar 1, 2 e 3.
oLbx:cTooltip :={ "Click na ListBox Para Editar...", ;
"CADASTRO DE DADOS PARA PROPOSTA", 1, CLR_WHITE, CLR_HBLUE }
//-----------------------------------------------------------------------//
oLbx:nClrBackHead := CLR_LGREEN
oLbx:nClrText := {|| nRGB( 000, 000, 000 ) }
oLbx:nClrBackFocus := CLR_WHITE
oLbx:nClrForeFocus := CLR_HRED
oLbx:nClrForeHead := CLR_BLACK
oLbx:nClrPane := { || IIF( ( oLbx:cAlias )->( OrdKeyNo() ) %2 == 0, ;
CLR_WHITE, CLR_LGRAY ) }
oLbx:nColAct := 4
oLbx:nLineStyle := 3
oLbx:lCellStyle := .T.
// Justifica: .F. = Esquerda .T. = Centro
oLbx:aJustify := { .T., .T., .T., .F., .F., .F., .F., .F., .F., .F., .F., ;
.F., .F. }
oLbx:lMChange := .F.
oLbx:SetFocus()
oLbx:Refresh()
...
RETURN NIL
FUNCTION GETLLAMADO( lAppend, oLbx )
...
RETURN NIL
João Santos - São Paulo - Brasil
-
- Posts: 188
- Joined: Mon Jun 10, 2013 6:40 pm
Re: Twbrowse Refresca al pasar por encima el raton
Que tal, Yo utilizo xbrowse
Aqui me funciona muy bien.
Code: Select all
oBrow:aCols[09]:bStrData := {|| nArti1 := RetornaPrecioArti1() }