Page 1 of 1

De nuevo con ListBox con campos variables

PostPosted: Tue Aug 14, 2007 3:40 pm
by ingggc
De nuevo con este viejo asunto ya que sigue sin funcionar

Estoy solicitando tu ayuda ya que el valor de FIELDS del LISTBOX es en variables y no logro que considere el valor adecuado, dichas variables son: l_cCamp[1] y l_cCamp[2]

Gracias

Desarrollo con Clipper 5.20, FiveWin 2.3b y Blinker 3.30

El código es el siguiente:

local l_cNomb[2]
local l_cCamp[2]
local l_oDlg
local l_oBrw
local l_oCurs
l_cNomb[1] :=O2A('Descripci¢n art¡culo')
l_cNomb[2] :=O2A('Precio venta')
l_cCamp[1] :=articulo->descrip
do case
case l_nNumP==1
l_cCamp[2] :=transform(pcio_vta *(1+(iva/100)),"9999999.99")
case l_nNumP==2
l_cCamp[2] :=transform(pcio_vta2*(1+(iva/100)),"9999999.99")
case l_nNumP==3
l_cCamp[2] :=transform(pcio_vta3*(1+(iva/100)),"9999999.99")
case l_nNumP==4
l_cCamp[2] :=transform(pcio_vta4*(1+(iva/100)),"9999999.99")
endcase
DEFINE DIALOG l_oDlg RESOURCE 'DCON_BAR' FONT g_oFont
DEFINE CURSOR l_oCurs RESOURCE 'CUR_DEDO'
REDEFINE LISTBOX l_oBrw;
FIELDS l_cCamp[1],l_cCamp[2],;
HEADERS l_cNomb[1],l_cNomb[2],;
ALIAS 'articulo';
CURSOR l_oCurs;
FONT g_oFont;
ID 102;
OF l_oDlg;
ON CLICK .t.
ACTIVATE DIALOG l_oDlg CENTER

PostPosted: Tue Aug 14, 2007 6:12 pm
by Antonio Linares
Supongo que lo que quieres es transformar los valores de varios campos dinámicamente, por lo que no puedes dejarlos fijos en unas variables.

Hazlo así:

REDEFINE LISTBOX l_oBrw;
...

l_oBrw:bLine = { || GenValues() }

...

function GenValues()

// calcula los valores de los campos a mostrar

return { valor1, valor2 }