* Init del Formulario
PROCEDURE Init
LOCAL lnTally, i
&& Agrego dos propiedades al formulario (Para controlar los ListBox)
ADDPROPERTY(thisform,"rubro","")
ADDPROPERTY(thisform,"codprod","")
SELECT distinct pro.tipo,rub.describe ;
FROM produc as pro,ustipo as rub ;
WHERE pro.tipo = rub.tipo ;
INTO ARRAY laRubros
lnTally = _tally
WITH this.lst_list1
.clear
.boundcolumn=2
.Columncount = 2
.Columnlines = .f.
.columnwidths = "200,40"
.ControlSource = 'thisform.rubro'
FOR i = 1 TO m.lnTally
.AddListitem(PROPER(laRubros[i,2]),i,1)
.addListitem(laRubros[i,1],i,2)
NEXT
.requery
.refresh
ENDWITH
ENDPROC
* Codigo que debe colocarse en el Click y DblClick del control "lst_list1"
PROCEDURE Lst_list1.Click
thisform.get_products(this.ListItem(this.ListItemId,2))
ENDPROC
PROCEDURE Lst_list1.DblClick
thisform.get_products(this.ListItem(this.ListItemId,2))
ENDPROC
* Codigo del método Get_Produc
PROCEDURE get_products
LPARAMETERS tcRubro
LOCAL ARRAY laPRoduc(1)
LOCAL i,lnTally
SELECT descrip,marca,codprod FROM produc WHERE tipo==tcRubro INTO ARRAY laproduc
lnTally = _tally
this.codprod = IIF(m.lnTally > 0 ,laProduc[1,3],"")
WITH this.lst_list2
.clear
.boundColumn = 3
.ColumnCount = 2
.columnLines = .f.
.ColumnWidths = "200,100"
.ControlSource = 'thisform.codprod'
FOR i= 1 TO m.lnTally
.addListitem(PROPER(laProduc[i,1]),i,1)
.addListitem(laProduc[i,2],i,2)
.addlistitem(laProduc[i,3],i,3)
ENDFOR
.requery
.refresh
ENDWITH