Quantcast
Channel: FiveTech Software tech support forums
Viewing all articles
Browse latest Browse all 26222

agregar combobox a xbrowse en los header

$
0
0
Hola, amigos ya que no me manejo en modificar la clase de xbrowse, tuve que improvisar: En Botón en los Header puse una imagen: oLbx:aCols[ 3 ]:AddResource("flecha"); oLbx:aCols[ 3 ]:nHeadBmpNo := 1;oLbx:aCols[ 3 ]:nHeadBmpAlign := AL_RIGHT oLbx:aCols[ 4 ]:AddResource("flecha"); oLbx:aCols[ 4 ]:nHeadBmpNo := 1;oLbx:aCols[ 4 ]:nHeadBmpAlign := AL_RIGHT en la posición del dialogo tuve que ver la posición y hacer algunos cálculos: oLbx:aCols[3]:bLClickHeader := {|nRow, nCol| ShowPopup( nRow, nCol, 171,"estado" ,oLbx) } oLbx:aCols[4]:bLClickHeader := {|nRow, nCol| ShowPopup( nRow, nCol, 244,"tipo" ,oLbx) } el dialogo y xbrowse y llenado function ShowPopup( nRow, nCol, lin,nFiltro,oLbx) LOcal oDlg local oWnd, aData := {}, i, oBrw, oBtn Local cFiltro,nEstado Local lAceptar:=.F. AAdd(aData,"< Seleccionar Todos >" ) Do Case Case nFiltro="estado" cFiltro:=XServer:Query("SELECT estado FROM ordentrabajo WHERE sucursal='"+Alltrim(codagencia)+"' GROUP BY estado ORDER BY estado") cFiltro:GoTop() Do While !cFiltro:Eof() AAdd(aData,If(cFiltro:estado=0,"ABIERTA","CERRADA") ) cFiltro:Skip(1) //Skip ENDDO cFiltro:End() Case nFiltro="tipo" cFiltro:=XServer:Query("SELECT tipo_orden FROM ordentrabajo WHERE sucursal='"+Alltrim(codagencia)+"' GROUP BY tipo_orden ORDER BY tipo_orden") cFiltro:GoTop() Do While !cFiltro:Eof() AAdd(aData,cFiltro:tipo_orden ) cFiltro:Skip(1) //Skip ENDDO cFiltro:End() EndCase DEFINE DIALOG oDlg FROM 215, lin+240 TO nRow+500,lin+452 PIXEL STYLE WS_POPUP @ 0, 0 XBROWSE oBrw OF oDlg ARRAY aData ; PICTUREs "!!!!!!!!!!!!!!!!!!!"; AUTOCOLS ; CELL ; FASTEDIT oBrw:lAllowColHiding := .f. oBrw:CreateFromCode() oBrw:lHeader := .F. @ 6.2, 1 BUTTON "Aplicar" OF oDlg ACTION (lAceptar:=.T.,oDlg:End()) @ 6.2, 9 BUTTON "Cancelar" OF oDlg ACTION oDlg:End() ACTIVATE DIALOG oDlg If lAceptar If AllTrim(aData[oBrw:nArrayAt])="< Seleccionar Todos >" cOrden:=XServer:Query("SELECT * FROM ordentrabajo where sucursal='"+Alltrim(codagencia)+"' ORDER BY numero_orden") cOrden:GoTop() Else Do Case Case nFiltro="estado" nEstado:=If (AllTrim(aData[oBrw:nArrayAt])="ABIERTA",0,1) cOrden:=XServer:Query("SELECT * FROM ordentrabajo where sucursal='"+Alltrim(codagencia)+"' and estado='"+Str(nEstado)+"' ORDER BY numero_orden") cOrden:GoTop() Case nFiltro="tipo" cOrden:=XServer:Query("SELECT * FROM ordentrabajo where sucursal='"+Alltrim(codagencia)+"' and tipo_orden='"+AllTrim(aData[oBrw:nArrayAt])+"' ORDER BY numero_orden") cOrden:GoTop() EndCase Endif Endif SetDolphin( oLbx, cOrden,.f. ) cOrden:Refresh() oLbx:Refresh(.t.) oLbx:SetFocus() return nil y eso seria la magia, por eso les comentaba que lo tuve que hacer manualmente espero que les ayude, ami me funciono saludos

Viewing all articles
Browse latest Browse all 26222

Trending Articles