Mi pelea con xbrowsw
Posted: Mon Sep 21, 2009 11:37 am
Hola.
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:
Como podría hacer algo similar con xbrowse?
Un saludo y muchas gracias
José Luis
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