Tengo un grograma en el que utilizo el twbrowse de Hernan, y quiero rehacerlo pero con txbrowse, supongo que todo será posible, pero no acabo de ver la forma de hacerlo. Las columnas del browse no siempre son las mismas, la edición es por celda aunque no todas las columnas son editables, las cabeceras de las columnas tienen definidas acciones, y está definido en los recursos, paso aponer parte del código:
Code: Select all
rdefine->(dbgotop())
while !rdefine->(eof())
ccampos:=ccampos+",rtiempo->tiempo"+ALLTRIM(STR(indice,2,0))
aadd(acargo,"rtiempo->tiempo"+ALLTRIM(STR(indice,2,0)))
aadd(acabezas,rdefine->inicial)
aadd(atamano,75)
aadd(aacion,{|a,row,col|olbx:drawheaders(a:natcol(col)),rcheck(a:natcol(col),a)})
aadd(acargo,"rtiempo->pena"+ALLTRIM(STR(indice,2,0)))
ccampos:=ccampos+",str(rtiempo->pena"+ALLTRIM(STR(indice,2,0))+",4,0)"
aadd(acabezas,"Pen.")
aadd(atamano,35)
aadd(aacion,{|a,row,col|olbx:drawheaders(a:natcol(col)),rcheck(a:natcol(col)-1,a)})
indice++
rdefine->(dbskip())
enddo
ccampos:=ccampos+",rtiempo->clasificar,str(rtiempo->penalizar)}}"
aadd(acargo,"rtiempo->clasificar")
aadd(acargo,"rtiempo->penalizar")
aadd(acabezas,"Clasificación")
aadd(acabezas,"Penalización")
aadd(atamano,90)
aadd(atamano,90)
aadd(aacion,{|a,row,col|olbx:drawheaders(a:natcol(col)),rcheck(a:natcol(col),a)})
aadd(aacion,{|a,row,col|olbx:drawheaders(a:natcol(col)),rcheck(a:natcol(col)-1,a)})
rtiempo->(dbsetfilter({||rtiempo->autorizado},"rtiempo->autorizado"))
rtiempo->(dbgotop())
olbx:=txbrowse():new(60,60,100,100,&ccampos,acabezas,atamano,rodlg,,,,,,,supfont,,,,,,"rtiempo")
olbx:bRClicked:={|nrow,ncol,nflag| rdescal(olbx,olbx:natcol(ncol))}
olbx:bldblclick:={|nrow,ncol,nflag| dblral(nrow,ncol,nflag,olbx,osay1)}
oLbx:bkeydown := { | nkey, nFlags | KBDral(nkey,nflags,olbx,osay1)}
olbx:leditcell:=.t.
olbx:lcellstyle:=.t.
OLBX:LAUTOEDIT:=.f.
olbx:nfreeze:=2
olbx:ldrawfooters:=.t.
olbx:aheaders:=acabezas
olbx:afooters:=acabezas
olbx:aactions:=aacion
olbx:cargo:=acargo
olbx:bbkcolor:={|r,c| olbxreg:=&(olbx:cAlias)->(OrdKeyNo()),if(olbxreg%2=0,rgb(255,255,150),16777215)}
olbx:btextcolor:={|r,c| 0}
olbx:lAdjBrowse:=.t.
olbx:lAdjLastCol:=.f.
olbx:nlinestyle:=10
Un saludo y muchas gracias
José Luis