Code: Select all
#include "FiveWin.ch"
#include "xbrowse.ch"
function Main()
local oDlg, oBrw
DEFINE DIALOG oDlg SIZE 300, 200
@ 0, 0 XBROWSE oBrw OF oDlg
oBrw:CreateFromCode()
oBrw:bKeyDown = { || CrearColumna(oBrw) }
ACTIVATE DIALOG oDlg CENTER ON INIT ( oDlg:oClient := oBrw, oDlg:Resize() )
return nil
//---------------------------------------------------------------------------------//
Function crearcolumna(obrw)
Local oCol,I,nI
LOCAL aListas:={{"Plato 1",.T.,.T.,.T.},{"Plato 2",.F.,.T.,.F.}}
LOCAL aCargos:={"Platos","Caliente","Frio","Templado"
FOR I = 1 TO LEN(aListas[1])
oCol:=obrw:addCol()
NEXT
oBrw:SetArray(aListas)
oBrw:aCols[1]:cHeader:= "Platos"
oBrw:aCols[1]:nWidth:=100
FOR nI = 2 TO LEN(aCargos)
oBrw:aCols[nI]:cHeader:=aCargos[nI]
oBrw:aCols[nI]:nWidth:=50
oBrw:aCols[nI]:SetCheck( { "Checkon", "Checkoff" },{ |o,v|oBrw:aArrayData[oBrw:nRowSel,oBrw:nAt]:=v} )
NEXT
obrw:refresh()
return .t.
En este ejemplo, al momento de armarla por primera vez da error, pero si se aprieta otra vez la tecla, arma toda la grilla bien... alquien sabe que estoy haciendo mal? El error es porque el elemento 2 de la grilla no existe a pesar de que antes hice un SetArray con 4 columnas de elementos.. Bueno, si peden compilar ese codigo veran de manera muy simple lo que quiero decir.. Gracias por su apoyo de siempre.-.