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...
Consulta sobre COLUMN BROWSE
Re: Consulta sobre COLUMN BROWSE
No sé que Browse usas, si el xBrowse u otro. Yo lo hago así con xBrowse
la función BuscaUnservicio() es para el bmp que pongo en la celda, y la Bservicio() es para validar el código
Espero que te sirva
Code: Select all
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() ), ) }
Code: Select all
*------------------------------------------------------------------------------
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: Select all
* ------------------------------------------------------------------
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 )
Un saludo
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO
Re: Consulta sobre COLUMN BROWSE
Se agardece por vuestra ayuda ya lo arregle y estoy utilizando TCBRowse que lo modifique a mi pinta en TJbrowse
Se agradece...
Se agradece...
Pedro wrote:No sé que Browse usas, si el xBrowse u otro. Yo lo hago así con xBrowse
la función BuscaUnservicio() es para el bmp que pongo en la celda, y la Bservicio() es para validar el códigoCode: Select all
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() ), ) }
Code: Select all
*------------------------------------------------------------------------------ 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.
Espero que te sirvaCode: Select all
* ------------------------------------------------------------------ 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 )