FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Consulta sobre COLUMN BROWSE
Posts: 170
Joined: Sat Aug 07, 2010 11:36 PM
Consulta sobre COLUMN BROWSE
Posted: Mon Jan 31, 2011 03:00 PM

Estoy utilizando este browse y necesito:

1) Sacar la barra de desplazamiento horizontal y vertical
2) Como hacer que quede en modo ingreso sin tener que presionar doble click sobre una columna especifica o simular un docle click via comando.
3) Como le coloco un valor a una columna en tiempo de ejecuci贸n, por ejemplo, en columna 1 ingreso codigo y busco el valor en una tabla y coloco en la columna 2 el nombre del codigo.

Se agradece desde ya... :(

Posts: 464
Joined: Tue Mar 21, 2006 07:30 PM
Re: Consulta sobre COLUMN BROWSE
Posted: Mon Jan 31, 2011 03:33 PM
No s茅 que Browse usas, si el xBrowse u otro. Yo lo hago as铆 con xBrowse

Code (fw): Select all Collapse
   oCol = oBrw:AddCol()
   oCol:bEditValue := { |x| If( x == nil, (cAlias1)->codigo, (cAlias1)->codigo := x ) } 
   oCol:nEditType     := EDIT_GET_BUTTON
   oCol:cHEADER       := "CODIGO  " 
   oCol:addResource( "BUSCAR1" )
   oCol:lBtnTransparent := .t.
   oCol:nBtnBmp := 1
   oCol:bEditValid    := {|o| if ( Empty(o:value()) , .f., .t.) }
   oCol:bEditBlock   := {|nRow, nCol, oCol| oCol:Value := BuscaUnServicio()  }
   oCol:bOnPostEdit   := { | oCol, xVal, nKey | If( RecCount() == 0,( DbAppend(), oBrw:Refresh() ),) ,; 
   If( nKey == VK_RETURN, If(BServicio(oBrw,xVal),oBrw:Refresh(),oBrw:GoleftMost()),),;
   If( nKey == VK_ESCAPE .and. Val((cAlias1)->codigo)=0,( (cAlias1)->(dbDelete()),;
               (cAlias1)->(__dbPack()),(cAlias1)->(dbGoBottom()),oBrw:Refresh() ), ) }


la funci贸n BuscaUnservicio() es para el bmp que pongo en la celda, y la Bservicio() es para validar el c贸digo
Code (fw): Select all Collapse
*------------------------------------------------------------------------------
Function BServicio(oBrw,xVal)
*------------------------------------------------------------------------------
Local cServicio := Val(xVal)   
  
      cServicio := PADL(cServicio,4,"0") 
      SERV->(dbSeek(cServicio)) 
      If SERV->(Found())
         (oBrw:cAlias)->codigo := cServicio
         (oBrw:cAlias)->concepto := SERV->servicio
      Else
         cServicio := BuscaUnServicio()
         (oBrw:cAlias)->codigo := cServicio
         (oBrw:cAlias)->concepto := SERV->servicio     
      EndIf
      (oBrw:cAlias)->fecha    := aCabAlb[ 2]
      (oBrw:cAlias)->cliente  := aCabAlb[ 3]
      (oBrw:cAlias)->agente   := aCabAlb[18]
      (oBrw:cAlias)->comision := CLIE->comision
      (oBrw:cAlias)->tipcli   := aCabAlb[23]
      oBrw:Refresh()    
Return .t.


Code (fw): Select all Collapse
* ------------------------------------------------------------------
FUNCTION BUSCAUNSERVICIO()
* ------------------------------------------------------------------
Local oDlgBus   
Local oLbxServi   
Local cAlServ
Local nSele := SELECT()
Local oDServi, xCodigo := Space(4)

    dbSelectArea("SERV")
    SERV->(dbGotop())
    cAlServ := ALIAS()
    DATABASE oDServi
      
    DEFINE DIALOG oDlgBus RESOURCE "DLGBUSCAR" COLOR RGB(0,0,0),RGB(153,204,153)

    REDEFINE LISTBOX oLbxServi  ;
            FIELDS oDServi:numero, oDServi:servicio;
            HEADERS "NUMERO","SERVICIO";
            ALIAS cAlServ;
            COLOR CLR_BLACK, RGB(220,220,220) ;
            ID 2001;
            UPDATE ; 
            OF oDlgBus 
     
    
      oDlgbus:SetControl( oLbxServi )
      oDlgBus:bGotFocus := { || oLbxServi:Refresh() }
        oLbxServi:bSkip = { | nRecs | oDServi:Skipper( nRecs ) }
        oLbxServi:lCellStyle = .F.
    
     REDEFINE BUTTONBMP ID 120 OF oDlgBus BITMAP "ACEPTAR" TEXTRIGHT ;
                 ACTION  xCodigo:= oDServi:numero,;
               oDlgBus:End(),dbSelectArea(nSele) 

     REDEFINE BUTTONBMP ID 121 OF oDlgBus BITMAP "CANCELAR" TEXTRIGHT ;
                 ACTION xCodigo := Space(4),;
               oDlgBus:End(),dbSelectArea(nSele)
    ACTIVATE DIALOG oDlgBus CENTERED
    SysRefresh()
      
return( xCodigo )


Espero que te sirva
Un saludo
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO
Posts: 170
Joined: Sat Aug 07, 2010 11:36 PM
Re: Consulta sobre COLUMN BROWSE
Posted: Tue Feb 01, 2011 02:33 PM
Se agardece por vuestra ayuda ya lo arregle y estoy utilizando TCBRowse que lo modifique a mi pinta en TJbrowse

Se agradece...


Pedro wrote:No s茅 que Browse usas, si el xBrowse u otro. Yo lo hago as铆 con xBrowse

Code (fw): Select all Collapse
聽 聽oCol = oBrw:AddCol()
聽 聽oCol:bEditValue := { |x| If( x == nil, (cAlias1)->codigo, (cAlias1)->codigo := x ) } 
聽 聽oCol:nEditType 聽 聽 := EDIT_GET_BUTTON
聽 聽oCol:cHEADER 聽 聽 聽 := "CODIGO 聽" 
聽 聽oCol:addResource( "BUSCAR1" )
聽 聽oCol:lBtnTransparent := .t.
聽 聽oCol:nBtnBmp := 1
聽 聽oCol:bEditValid 聽 聽:= {|o| if ( Empty(o:value()) , .f., .t.) }
聽 聽oCol:bEditBlock 聽 := {|nRow, nCol, oCol| oCol:Value := BuscaUnServicio() 聽}
聽 聽oCol:bOnPostEdit 聽 := { | oCol, xVal, nKey | If( RecCount() == 0,( DbAppend(), oBrw:Refresh() ),) ,; 
聽 聽If( nKey == VK_RETURN, If(BServicio(oBrw,xVal),oBrw:Refresh(),oBrw:GoleftMost()),),;
聽 聽If( nKey == VK_ESCAPE .and. Val((cAlias1)->codigo)=0,( (cAlias1)->(dbDelete()),;
聽 聽 聽 聽 聽 聽 聽 聽(cAlias1)->(__dbPack()),(cAlias1)->(dbGoBottom()),oBrw:Refresh() ), ) }


la funci贸n BuscaUnservicio() es para el bmp que pongo en la celda, y la Bservicio() es para validar el c贸digo
Code (fw): Select all Collapse
*------------------------------------------------------------------------------
Function BServicio(oBrw,xVal)
*------------------------------------------------------------------------------
Local cServicio := Val(xVal) 聽 
聽 
聽 聽 聽 cServicio := PADL(cServicio,4,"0") 
聽 聽 聽 SERV->(dbSeek(cServicio)) 
聽 聽 聽 If SERV->(Found())
聽 聽 聽 聽 聽(oBrw:cAlias)->codigo := cServicio
聽 聽 聽 聽 聽(oBrw:cAlias)->concepto := SERV->servicio
聽 聽 聽 Else
聽 聽 聽 聽 聽cServicio := BuscaUnServicio()
聽 聽 聽 聽 聽(oBrw:cAlias)->codigo := cServicio
聽 聽 聽 聽 聽(oBrw:cAlias)->concepto := SERV->servicio 聽 聽 
聽 聽 聽 EndIf
聽 聽 聽 (oBrw:cAlias)->fecha 聽 聽:= aCabAlb[ 2]
聽 聽 聽 (oBrw:cAlias)->cliente 聽:= aCabAlb[ 3]
聽 聽 聽 (oBrw:cAlias)->agente 聽 := aCabAlb[18]
聽 聽 聽 (oBrw:cAlias)->comision := CLIE->comision
聽 聽 聽 (oBrw:cAlias)->tipcli 聽 := aCabAlb[23]
聽 聽 聽 oBrw:Refresh()聽 聽 
Return .t.


Code (fw): Select all Collapse
* ------------------------------------------------------------------
FUNCTION BUSCAUNSERVICIO()
* ------------------------------------------------------------------
Local oDlgBus 聽 
Local oLbxServi 聽 
Local cAlServ
Local nSele := SELECT()
Local oDServi, xCodigo := Space(4)

聽 聽 dbSelectArea("SERV")
聽 聽 SERV->(dbGotop())
聽 聽 cAlServ := ALIAS()
聽 聽 DATABASE oDServi
聽 聽 聽 
聽 聽 DEFINE DIALOG oDlgBus RESOURCE "DLGBUSCAR" COLOR RGB(0,0,0),RGB(153,204,153)

聽 聽 REDEFINE LISTBOX oLbxServi 聽;
聽 聽 聽 聽 聽 聽 FIELDS oDServi:numero, oDServi:servicio;
聽 聽 聽 聽 聽 聽 HEADERS "NUMERO","SERVICIO";
聽 聽 聽 聽 聽 聽 ALIAS cAlServ;
聽 聽 聽 聽 聽 聽 COLOR CLR_BLACK, RGB(220,220,220) ;
聽 聽 聽 聽 聽 聽 ID 2001;
聽 聽 聽 聽 聽 聽 UPDATE ; 
聽 聽 聽 聽 聽 聽 OF oDlgBus 
聽 聽 聽
聽 聽 
聽 聽 聽 oDlgbus:SetControl( oLbxServi )
聽 聽 聽 oDlgBus:bGotFocus := { || oLbxServi:Refresh() }
聽 聽 聽 聽 oLbxServi:bSkip = { | nRecs | oDServi:Skipper( nRecs ) }
聽 聽 聽 聽 oLbxServi:lCellStyle = .F.
聽 聽 
聽 聽 聽REDEFINE BUTTONBMP ID 120 OF oDlgBus BITMAP "ACEPTAR" TEXTRIGHT ;
聽 聽 聽 聽 聽 聽 聽聽 聽 ACTION 聽xCodigo:= oDServi:numero,;
聽 聽 聽 聽 聽 聽 聽 聽oDlgBus:End(),dbSelectArea(nSele) 

聽 聽 聽REDEFINE BUTTONBMP ID 121 OF oDlgBus BITMAP "CANCELAR" TEXTRIGHT ;
聽 聽 聽 聽 聽 聽 聽 聽 聽ACTION xCodigo := Space(4),;
聽 聽 聽 聽 聽 聽 聽 聽oDlgBus:End(),dbSelectArea(nSele)
聽 聽 ACTIVATE DIALOG oDlgBus CENTERED
聽 聽 SysRefresh()
聽 聽 聽 
return( xCodigo )


Espero que te sirva

Continue the discussion