xbrowse y bloqueo encabezado

xbrowse y bloqueo encabezado

Postby kpidata » Thu Mar 08, 2018 3:51 pm

Estimados, trabajo con tdolphin y mysql, con xbrowse, tengo el siguiente problema, cuando doy click sobre el encabezado de una columna, esta se ordena de mayor a menor o viceversa, el tema es que cuando pincho otra columna que no necesito que este ordenada me sale error de funcion y otros.. como puedo evitar que cuando e usuario haga click en ese encabezado no haga nada, para evitar el error.

aca un ejemplo


Function ConRecExtxVendedor(cFic_Tra,cNom_Tra,cUsuario,cEmpresa,cFecha1,cFecha2)
Local Mensaje
Mensaje:="Recepciones x Vendedor.. : "+Alltrim(cNom_Tra)
cExt_Rec1:=xServer:Query("SELECT a.*, b.*, c.* FROM ext_rec1 AS a INNER JOIN tab_cte AS b ON b.rut_cte = a.rut_cte LEFT JOIN tab_tra AS c ON a.cod_tra = c.fic_tra WHERE a.cod_tra='"+cFic_Tra+"'and a.fec_rec >='"+Dtos(cFecha1)+"' and a.fec_rec<='"+Dtos(cFecha2)+"' ORDER BY a.cod_tra")
cExt_Rec1:GoTop()
If cExt_Rec1:LastRec() > 0
Ventana_Recepcion(cExt_Rec1,Mensaje,cUsuario,cEmpresa)
Else
TipoMensaje("No existen registros para la busqueda indicada")
Endif
cExt_Rec1:End()
Return Nil


Function Ventana_Recepcion(cExt_Rec1,Mensaje,cUsuario,cEmpresa)
Local oDlg2, oFon2, oBrw2, nTotal1, nTotal2, nTotal3, oDatos,cDatos, oTotal1,oTotal2,oTotal3, oCol2
Local I, oBoton1, oBoton2, oBoton3
Local oSay :=Array(20), cAlias01
Static TotVal
MemVar Archi

cDatos :="DOBLE CLICK MUESTRA SUB-MENU DE CONSULTA"
cExt_Rec1:GoTop()

If cExt_Rec1:LastRec() > 0

DEFINE FONT oFon2 NAME "Arial" SIZE 0,-11 Bold

DEFINE DIALOG oDlg2 RESOURCE "BROW3BG" TITLE Mensaje COLOR Rgb( 255, 0, 0 ), Rgb(185,220,255)

Redefine BtnBmp oBoton1 Id 101 Resource "BTO_PRINT" Of oDlg2 Tooltip "Genera impresion de Recepciones.. " 2007;
ACTION (Print_RecepcionCliente(cEmpresa,cExt_Rec1,Mensaje),oBrw2:Refresh(),oBrw2:Gotop())

Redefine BtnBmp oBoton2 Id 102 Resource "BTO_EXCEL" Of oDlg2 Tooltip "Genera Hoja de Calculo Excel de Recepciones.. " 2007;
ACTION (Excel_RecepcionCliente(cEmpresa,cExt_Rec1,Mensaje),oBrw2:Refresh(),oBrw2:Gotop())

Redefine BtnBmp oBoton3 Id 103 Resource "BTO_SALIR" Of oDlg2;
ACTION oDlg2:End() 2007

oBrw2:=TxBrowse():New(oDlg2)
oBrw2:nMarqueeStyle := MARQSTYLE_HIGHLROW // Con cursor de todo el renglón
oBrw2:nColDividerStyle := LINESTYLE_RAISED
oBrw2:nRowDividerStyle := LINESTYLE_RAISED
oBrw2:bClrSelFocus := {|| { nRGB( 0, 0, 0), nRGB(128,255,128) } } // para barra de linea selecc cuando el control tiene el foco
oBrw2:lColDividerComplete := (.t.) // (.T.) Mantiene siempre llena la pantalla
oBrw2:nHeaderHeight := 30 // Altura de los encabezados
oBrw2:nRowHeight := 25 // Altura del renglón
oBrw2:nHeaderLines := 2 // Número de líneas de encabezados
oBrw2:nDataLines := 2 // Número de líneas de detalle
oBrw2:nFooterHeight := 20 // Altura del footer
oBrw2:nFooterLines := 2 // Número de líneas en el footer
oBrw2:lFooter := (.T.) // Sí queremos línea de footer
oBrw2:lHScroll := (.T.) // Quitamos el scroll horizontal
oBrw2:bClrHeader := {|| { nRGB(000,000,000), nRGB(128,255,128) } }
oBrw2:bClrFooter := {|| { nRGB(000,000,000), nRGB(150,200,200) } }
oBrw2:bClrSel := {|| { nRGB(000,000,000), nRGB(128,255,128) } }
oBrw2:bClrSelFocus := {|| { nRGB( 0, 0, 0), nRGB(128,255,128) } } // para barra de linea selecc cuando el control tiene el foco
oBrw2:bClrStd := {|| { nRGB(000,000,000), nRGB(255,255,200) } }
oBrw2:nStretchCol := STRETCHCOL_WIDEST
oBrw2:oFont := oFon2
oBrw2:bLDblClick := {|| Menu_RecepcionExtintor(cExt_Rec1:nro_rec,cUsuario,cEmpresa,oBrw2,cExt_Rec1, Mensaje), cExt_Rec1:Refresh() }
oBrw2:SetDolphin(cExt_Rec1,.T.,.T.)

// este ordena por numero
oBrw2:aCols[1]:cHeader := "Nro."+CRLF+"Recepcion"
oBrw2:aCols[1]:bStrData := { || Transform(cExt_Rec1:nro_rec,"999999") }
oBrw2:aCols[1]:nHeadStrAlign := AL_CENTER
oBrw2:aCols[1]:nDataStrAlign := AL_RIGHT //LEFT
oBrw2:aCols[1]:nWidth := 100

oBrw2:aCols[2]:SetCheck( { "BOTONSI", "BOTONNO" } )
oBrw2:aCols[2]:cHeader := "Activa"
oBrw2:aCols[2]:nDataStrAlign := AL_RIGHT
oBrw2:aCols[2]:bBmpData := { || iif( cExt_Rec1:activo=.T., 1, 2) }
oBrw2:aCols[2]:nWidth := 30

oBrw2:aCols[3]:cHeader := "F/Emision"
oBrw2:aCols[3]:bStrData := { || cExt_Rec1:fec_rec }
oBrw2:aCols[3]:nHeadStrAlign := AL_CENTER
oBrw2:aCols[3]:nDataStrAlign := AL_CENTER //LEFT
oBrw2:aCols[3]:nWidth := 100

// si hacen click sobre este campo se cae.. y quiero evitar que eso ocurra
oBrw2:aCols[4]:cHeader := "Cliente"
oBrw2:aCols[4]:bStrData := { || cExt_Rec1:raz_cte }
oBrw2:aCols[4]:nHeadStrAlign := AL_CENTER
oBrw2:aCols[4]:nDataStrAlign := AL_LEFT //LEFT
oBrw2:aCols[4]:nWidth := 400


oBrw2:CreateFromResource(1000)
Activate Dialog oDlg2 Centered
oFon2:End()
Else
TipoMensaje("No existen registros para la busqueda indicada")
Endif
cExt_Rec1:End()
RETURN(Nil)
kpidata
 
Posts: 80
Joined: Tue Jul 26, 2016 9:52 pm

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 28 guests