Clausula "ON CHANGE" en xbrowse

Clausula "ON CHANGE" en xbrowse

Postby mariordz » Wed Aug 01, 2012 1:47 am

Buenas noches compañeros del foro, espero puedan ayudarme, estoy usan un xbrowse y necesito usar la clausula "ON CHANGE" (o la que sea equivalente) para mostrar algunos datos dependiendo del registro seleccionado de la base de datos.

Code: Select all  Expand view

      DEFINE DIALOG oDlg resource "dlgverdb9" of oVentprinc title "Llamadas" font oFont1g
      redefine say prompt"Lista de llamadas realizadas, selecciona la llamada a consultar" ID 1 of oDlg
      define font oFont1  name "TIMES NEW ROMAN" size 0,-12 bold
      oBrw := TXBrowse():New( oDlg )
      oBrw:nMarqueeStyle := MARQSTYLE_HIGHLROW //barra selectora
      oBrw:nColDividerStyle := LINESTYLE_INSET
      oBrw:nRowDividerStyle := LINESTYLE_INSET
      oBrw:lColDividerComplete := .t.       //HEADERS Y FOOTERS
      oBrw:nHeaderHeight := 22 //Altura cabeceras de col
      oBrw:lRecordSelector := .t. //poner o no, COL de la flechita de la izq
      oBrw:bClrHeader := {|| { nRGB(152, 251, 152), nRGB(47, 79, 79) } }//{|| { nRGB(140, 0, 0), nRGB(229,0,0) } } // VERDECITO
      oBrw:bClrFooter := oBrw:bClrHeader
      oBrw:bClrStd := {|| { nRGB( 0, 0, 0), nRGB(255,248,220) } } // colores para lineas normales
      oBrw:bClrSel := {|| { nRGB( 0, 0,255), nRGB(241,222,088) } } // para barra de linea selecc cuando el control no tiene el foco
      oBrw:bClrSelFocus := {|| { nRGB( 0, 0, 0), nRGB(248,195, 34) } } // para barra de linea selecc cuando el control tiene el foco
      oBrw:nRowHeight := 19

      oCol = oBrw:AddCol()
      oCol:bStrData = { || market->idmarket }
      oCol:nDataStrAlign := 0
      oCol:cHeader = "ID de llamada"
      oCol:nWidth = 110
      oCol:bLClickHeader:= {|| DbSetorder(1),oBrw:Gotop(),letbus:="ID de llamada",odlg:update(),nord:=1}
      oCol:oHeaderFont := oFont1
      oCol:bClrHeader := { || {  65535, nRGB(47, 79, 79) } }

..... (Ms columnas)

      oBrw:SetRDD()

      oBrw:CreatefromResource(0)

      REDEFINE say oSay1 prompt "Buscar en "+letbus ID 5 OF oDlg UpDate
      Redefine get Oget1 VAR cBusca ID 4 OF oDlg PICTURE "@!"

      redefine button oBtn1 ID 6 of oDlg action (busyfil()) update
      redefine button oBtn2 ID 7 of oDlg action sinfil()

      REDEFINE Button oBtn3 ID 2 OF oDlg prompt "Revisar tareas" ACTION ( revmar:=idmarket,revtar(), oDlg:end() )
      REDEFINE Button oBtn4 ID 3 OF oDlg prompt "Registrar ventas" ACTION ( revmar:=idmarket,regven(), oDlg:end() )
      redefine button oBtn5 ID 4 of oDlg action (oDlg:end(), ciccc:="N")
      ACTIVATE DIALOG oDlg CENTERED
   enddo
   oFont1:end()
RETURN NIL


Como decía, necesito desplegar información en el diálogo, dependiendo del registro seleccionado, misma que cambiara a cada cambio en el No. de registro.

Muchas gracias
User avatar
mariordz
 
Posts: 131
Joined: Tue Dec 26, 2006 4:50 pm
Location: Ciudad de México

Re: Clausula "ON CHANGE" en xbrowse

Postby groiss » Wed Aug 01, 2012 5:55 am

Mario:
No se si esto te valdrá, pero tengo un xbrowse en el que al desplazar el cursor por los registros hace que un objeto SAY me vaya mostrando la información del registro algo así
Code: Select all  Expand view

    on change {osay1:settext( "Dorsal: "+alltrim(carrera[olbx:narrayat,11])+"  --  "+alltrim(carrera[olbx:narrayat,12])),osay1:hide(),osay1:show()}
 

en este caso el xbrowse me muestra una matriz (array) llamada carrera, y objeto say que modifica es osay1, y el objeto xbrowse es olbx.
Un saludo
groiss
 
Posts: 220
Joined: Tue Sep 01, 2009 7:55 am
Location: Plasencia - ESPAÑA

Re: Clausula "ON CHANGE" en xbrowse

Postby MarioG » Wed Aug 01, 2012 12:28 pm

Mario
Por si es de tu interés, xBrowse incorpara el bloque
Code: Select all  Expand view
oBrw:bToolTip:= {|| ShowToolTip( oBrw ) }
...
...

PROCEDURE ShowToolTip( oBrw )

   oBrw:oCol3:cTooltip:= if( !nCondicion == 0, "Tu mensaje", "mensaje alternativo" )

// Fin


Saludos
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: Clausula "ON CHANGE" en xbrowse

Postby mariordz » Wed Aug 01, 2012 2:24 pm

Muchas gracias por sus respuestas, tengo estas dudas:

Groiss, honestamente no se donde insertar la clausa "on chage", en mi xbrowse, podrías indicarme donde?

Mario G. Estoy usando la versión 2.6 de Fivewin y me aparece el error de que no reconoce la sentencia tooltip, seguramente es por mi versión de FWH

Nuevamente muchas gracias.
User avatar
mariordz
 
Posts: 131
Joined: Tue Dec 26, 2006 4:50 pm
Location: Ciudad de México

Re: Clausula "ON CHANGE" en xbrowse

Postby MarioG » Wed Aug 01, 2012 2:55 pm

Mario

"on change" es una clausula, parte, de:
#xcommand @ <nRow>, <nCol> [ COLUMN ] XBROWSE <oBrw> ;
[ [ FIELDS ] <Flds,...>] ;
[ <dsrc: ALIAS, ARRAY, RECSET, RECORDSET, OBJECT, DATASOURCE> <uDataSrc> ] ;
[ <sizes:FIELDSIZES, SIZES, COLSIZES> <aColSizes,...> ] ;
[ <head:HEAD,HEADER,HEADERS> <aHeaders,...> ] ;
[ <pic: PICS, PICTURE, PICTURES> <aPics,...> ] ;
[ <cols: COLS, COLUMNS> <aCols,...> ] ;
[ <idx: SORT,ORDERS> <aSort,...> ] ;
[ JUSTIFY <aJust,...> ] ;
[ SIZE <nWidth>, <nHeigth> ] ;
[ ID <nID> ] ;
[ <dlg:OF,DIALOG> <oWnd> ] ;
[ SELECT <cField> FOR <uValue1> [ TO <uValue2> ] ] ;
[ <change: ON CHANGE, ON CLICK> <uChange> ] ;
...

Vos deberías usar oBrw:bChange:= {|| ... } (porque no declaras el comando, sino que llamas directamente a la clase)

En cuanto a la version. Creo que la version libre actual es superior a la que usas. La podes bajar de la pagina de Fivetech

Saludos
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: Clausula "ON CHANGE" en xbrowse

Postby mariordz » Wed Aug 01, 2012 6:31 pm

Mario, mil gracias por la orientación, funcionó de maravilla.

Hace un tiempo, cuando liberaron la versión 6.12 (creo) de Fivewin la bajé e instale, pero me empezó a dar mil problemas con funciones que no existían en esa versión o que habían cambiado de nombre, bajé las versiones de BCC y Harbour para esa versión, pero me seguía dando miles de problemas y decidi regresarme a usar la versión con la que originalmente había generado mis programas.

Muchas, muchas gracias nuevamente.
User avatar
mariordz
 
Posts: 131
Joined: Tue Dec 26, 2006 4:50 pm
Location: Ciudad de México


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 78 guests