.
.
.
*----------------------------------------------------------
WITH OBJECT oBrw:aCols[2]
//:nEditType := EDIT_LISTBOX
//:aEditListTxt := ArrTranspose( aQRcliente )[2]
//:bOnChange := { | oGet, oCol | ( ValidaCliente(oQry,oGet:value,aQRcliente),;
// lNewRec:=.T.,;
// IF(oQry:id_cliente<>0 .AND. Empty(oQry:opcion),oQry:opcion:="U",) ) }
:bStrData := {|| oQry:nombre_fantasia }
:nEditType := EDIT_BUTTON
:bEditBlock := {|nRow,nCol| buscoClientesCheque(oBrw,oQry,nRow,nCol,@hVar) }
:bOnPostEdit := {|oCol,xVal,nKey| IIF(nKey!=VK_ESCAPE, ( lNewRec:=.T.,;
oQry:id_cliente := hVar["idCliente"],;
oQry:nombre_fantasia := hVar["NombreCli"],;
oQry:opcion:="U",;
oBrw:Refresh() ),)}
END
*----------------------------------------------------------
.
.
.
****************************************************************************
*
FUNCTION buscoClientesCheque(oBrwCont,oQry,nRow,nCol,hVar)
LOCAL oDlg, oBrw, oCol, oNomCli, nCurrent
LOCAL oQryCli, cQryCli
LOCAL nAnchoDlg:=oBrwCont:aCols[2]:nWidth
//-----------------------------------------------------------------
cQryCli := "SELECT id_cliente,"
cQryCli += "nombre_fantasia "
cQryCli += "FROM cliente "
cQryCli += "ORDER BY nombre_fantasia"
DEFINE QUERY oQryCli cQryCli
//-----------------------------------------------------------------
// nAnchoDlg := 750
DEFINE DIALOG oDlg PIXEL TRUEPIXEL SIZE nAnchoDlg-3,250 STYLE WS_POPUP FONT hFnt["Brw"]
@ 0,0 XBROWSE oBrw OF oDlg FONT hFnt["Brw"] UPDATE //OBJECT oQryCli //PIXEL //SIZE nAnchoDlg-3,310
*-----------------------------------------------------------
oCol := oBrw:AddCol()
oCol:cHeader := "Cliente"
oCol:bStrData := { || oQryCli:nombre_fantasia }
oCol:nDataStrAlign := AL_LEFT
oCol:nWidth := nAnchoDlg-3
*-----------------------------------------------------------
*-----------------------------------------------------------
// BARRA DE BUSQUEDA
oBrw:lGetBar := .T.
oBrw:nGetBarHeight := 35
//oBrw:aCols[1]:lBarGetOnKey := .T.
//oBrw:aCols[1]:cBarGetPic := "@15"
oBrw:aCols[1]:uBarGetVal := Space(15)
oBrw:aCols[1]:cBarGetBmp := "BB_SEARCH(30x30)"
oBrw:aCols[1]:bBarGetAction := {|| SetFilterRegistroCli(oBrw,oQryCli) }
oBrw:aCols[1]:bBarGetValid := {|x| SetFilterRegistroCli(oBrw,oQryCli), .T.}
oBrw:bClrEdits := {|| { CLR_BLACK,rgb(255,250,240) } }
// BARRA DE BUSQUEDA
*-----------------------------------------------------------
WITH OBJECT oBrw
:nHeight := 250
:lHeader := .F.
:nHeaderLines := 0 // número de líneas de la cabecera
:nHeaderHeight := 0 // Altura cabeceras de columna
//:lSeekWild := .T.
//:lSeekBar := .t.
//:lIncrFilter := .F.
:cFilterFld := "Cliente"
//:bChange := {|| oBrw:Refresh() }
//:bSeekChange := {|| oBrw:Refresh() }
:nRowHeight := 35
:nMarqueeStyle := MARQSTYLE_HIGHLROW // Estilo marquesina (fila seleccionada) 0 No 1 Marquesina punteada celular 2 Solid celular 3 Resalte la celda 4 fila resaltada y Levante teléfono 5
:nRowDividerStyle := LINESTYLE_LIGHTGRAY
:nColDividerStyle := LINESTYLE_LIGHTGRAY
:bClrSel := {||{nRGB(255,255,255),nRGB(000,128,255)}}// para barra de linea selecc cuando el control no tiene el foco
:l2007 := .F.
:lAllowColHiding := .T. // Anulo el menu contextual al hacer click sobre el Header del browse
:lRecordSelector := .F. //poner o no, COL de la flechita de la izq
:lHScroll := .F.
:lVScroll := .T.
:lColDividerComplete := .T. //completa pintado hasta el footer cuando lineas no llenan todo el browse
:lFastEdit := .F.
:SetColor( CLR_BLACK, RGB(255,255,255) )
:bKeyDown := {|nKey| If( nKey==VK_SPACE,( hVar["idCliente"]:=oQryCli:id_cliente,;
hVar["NombreCli"]:=oQryCli:nombre_fantasia,;
oDlg:End() ),) }//IF( nKey==VK_ESCAPE,oDlg:End(),)
//:blDblClick := {|nRow, nCol, nFlags| ( nNroCli := oQryCli:id_cliente,;
// oDlg:End() ) }
:blDblClick := {|| eval(:bKeyDown,VK_SPACE) }
END WITH
oBrw:SetDolphin( oQryCli,.F.,.T.)
oBrw:CreateFromCode()
ACTIVATE DIALOG oDlg ON INIT oDlg:Move(nRow+215,nCol)