Valor de una celda con twbrowse (Solucionado)
Posted: Wed Sep 28, 2022 8:52 pm
Buenas
Me gustaria obtener el valor de una celda de un listbox con twbrowse
Con xbrowse basta con oBrw:aCols[1]:Value, pero con twbrowse no.
El tema es que hago una seleccion de unos cuantos registros y los envio a una función que recibe los números de las líneas seleccionadas, y me gustaria obtener el valor de un campo de esas lineas.
la selección la tengo basada en:
De ésta manera Selecciono alguna Linea, pero no consigo enviar nada más que el número de la línea que tengo seleccionada.
Me gustaria obtener el valor de una celda de un listbox con twbrowse
Con xbrowse basta con oBrw:aCols[1]:Value, pero con twbrowse no.
El tema es que hago una seleccion de unos cuantos registros y los envio a una función que recibe los números de las líneas seleccionadas, y me gustaria obtener el valor de un campo de esas lineas.
la selección la tengo basada en:
- Code: Select all Expand view
- Static aSel
LOCAL aX[6]
aSel:= {}
aX[1]:=LoadBitMap(GetResources(),"C_ChF") //este es el cudradito
aX[2]:=LoadBitMap(GetResources(),"C_Azl") // aca esta el cuadradito pero con tick
DEFINE BUTTON OF oBar RESOURCE "Bar_Ord" NOBORDER;
TOOLTIP "Seleccionar Todas" ACTION SeleccionTodas(oLbx,aSel)
// cuando entra al browse pone toda el browse en cuadradito con la funcion desp_mar
@ 0, 0 LISTBOX oLbx ;
FIELDS Desp_Mar(aX),(cRec_Desp)->Det_Viaj;
HEADERS "DESPACHAR,"Origen/Destino";
SIZES 90,200;
OF oWChld ALIAS (cRec_Desp)->(Alias()) UPDATE FONT oVentPrinc:oFont
oLbx:aJustify :={.t.,.t.,.t.,.f.,.t.,.f.,.t.,.t.,.f.}
oLbx:bLDblClick :={|| Asigna_Ven(oLbx,aSel)}
STAT FUNC Desp_Mar(aX) // Marca 'check box'
LOCAL n:=1
n:=IF(AScan(aSel,(cRec_Desp)->(Recno()))<>0,2,n)
RETURN (aX[n])
STAT FUNC Asigna_Ven(oLbx,aSel) // Selecciona registro
LOCAL x:=AScan(aSel,Round((cRec_Desp)->(Recno()),0))
IF x<>0
ADel(aSel,x)
ASize(aSel,Len(aSel)-1)
ELSE
AAdd(aSel,Round((cRec_Desp)->(Recno() ),0))
ENDIF
oLbx:DrawSelect()
oLbx:SetFocus()
RETURN NIL
De ésta manera Selecciono alguna Linea, pero no consigo enviar nada más que el número de la línea que tengo seleccionada.