Saludos, para los que me extrañaron, aun ando en este planeta y para los que no, por aca ando de nuevo...
tengo un pequeño problema, y no se que usar, ni como usarlo ya que el sample YuNUS no me aclaro mi duda...
tengo un BROWSE de facturacion con un ARRAY de X columnas, en la columna de NOMBRE DEL PRODUCTO, necesito
colocar o un POPUPBROWSE o un EDIT_LISTBOX, pero no consigo ejemplo claro de como usar el POPUP en browse
ya que en uno que Antonio respondio hacen años, no veo como decirle al browse del popup los valores que
quiero mostrar, he usado POPUPBROWSE en GET y todo perfecto, pero con BROWSE, no he podido, intente hacerlo
con EDIT_LISTBOX y sucede lo siguiente, necesito cuando le de al boton de desplegar los valores a mostrar,
cambiar en linea dichos valores, es decir, resetear el aEditListTxt, cargar y mostrar valores nuevos ya que
los productos a facturar puedes tener diferentes valores a mostrar, son unos productos COMBOS y necesito
mostrar sus componentes en cualquier momento de la facturacion, espero haberme explicado, son mas de un valor a mostrar, es decir un array multi, por eso pense en popupbrowse...desde ya por sus ayudas
y sugerencias...GRACIAS...
POPUPBROWSE o EDIT_LISTBOX en columna browse
- joseluisysturiz
- Posts: 2024
- Joined: Fri Jan 06, 2006 9:28 pm
- Location: Guatire - Caracas - Venezuela
- Contact:
POPUPBROWSE o EDIT_LISTBOX en columna browse
Dios no está muerto...
Gracias a mi Dios ante todo!
Gracias a mi Dios ante todo!
- joseluisysturiz
- Posts: 2024
- Joined: Fri Jan 06, 2006 9:28 pm
- Location: Guatire - Caracas - Venezuela
- Contact:
Re: POPUPBROWSE o EDIT_LISTBOX en columna browse
Alguien tiene alguna sugerencia?
Con decir como evaluar cuando se le de al botón que desplega el combo Box creo puedo resolver, intente con onchange y no hizo lo que quería...saludos, gracias...
Con decir como evaluar cuando se le de al botón que desplega el combo Box creo puedo resolver, intente con onchange y no hizo lo que quería...saludos, gracias...
Dios no está muerto...
Gracias a mi Dios ante todo!
Gracias a mi Dios ante todo!
Re: POPUPBROWSE o EDIT_LISTBOX en columna browse
Una idea asi tal vez te puede servir
Code: Select all
#include "FiveWin.ch"
#include "xbrowse.ch"
//-----------------------------------------------//
// AGREGAR REGISTROS QUEDANDO AUTOMATICAMENTE SELECCIONADOS
//-----------------------------------------------//
Function MultiSeleTodo()
local oDlg, oBrw, oFont, aTabla := {}
local aGradBarSel := { { 1, RGB(252,232,171), RGB(248,195, 34) } }
local aGradRowSel := { { 1, RGB(118,145,164), RGB(241,222,088) } }
XbrNumFormat( 'A', .t. )
USE CUSTOMER NEW ALIAS "CUST" SHARED
//COPY STRUCT TO ".\CUST2"
AADD(aTabla,{"NOMBRE","C",30,0})
AADD(aTabla,{"import","N",10,2})
DBCREATE("CUST2",atabla)
USE CUST2 NEW ALIAS "CUST2" EXCLUSIVE
//CUST->(DBGOTO(5))
DBSELECTAREA("CUST2")
DEFINE FONT oFont NAME "TAHOMA" SIZE 0,-12
DEFINE DIALOG oDlg SIZE 700,400 PIXEL FONT oFont TITLE "AGREGAR ITEM Y SELECCIONARLO"
@ 20,10 XBROWSE oBrw SIZE -10,-40 PIXEL OF oDlg ;
DATASOURCE "CUST2" ;
COLUMNS "NOMBRE", "IMPORT" FOOTERS;
CELL LINES NOBORDER AUTOSORT ON CHANGE oBrw:MakeTotals()
WITH OBJECT oBrw
//:nMarqueeStyle := MARQSTYLE_HIGHLROWMS //Multiselect
:bClrSel := {|| { nRGB( 0, 0, 0), aGradRowSel } } // para barra de linea selecc cuando el control no tiene el foco
:bClrSelFocus := { || { CLR_BLACK, aGradBarSel } } // para barra de linea selecc cuando el control tiene el foco
:aCols[ 1 ]:nEditType := EDIT_BUTTON
:aCols[ 1 ]:bEditBlock := { || Buscar() }
:aCols[ 2 ]:nEditType := EDIT_GET
:aCols[ 2 ]:nFooterType := AGGR_SUM
:MakeTotals()
:CreateFromCode()
END
@ 170, 10 BUTTON "Agregar Item" SIZE 60,20 PIXEL OF oDlg ;
ACTION ( AgregItem("CUST2") ,;
oBrw:SetFocus(), oBrw:Refresh(),oBrw:MakeTotals())
//oBrw:Select(1),;
//CUST->(DbSkip()) )
@ 170, 80 BUTTON "Salir" SIZE 60,20 PIXEL OF oDlg ACTION oDlg:End()
ACTIVATE DIALOG oDlg CENTERED
RELEASE FONT oFont
Cust2->(dbclosearea())
Ferase(".\Cust2.dbf")
return nil
//-----------------------------------------------//
Function AgregItem(cAliasDest)
(cAliasDest)->(dbappend())
(cAliasDest)->( FieldPut( 1,"--- Elija producto ----" ) )
(cAliasDest)->( FieldPut( 2,0 ))
Return nil
Function Buscar()
DBSELECTAREA("CUST")
XBROWSE()
cust2->( FieldPut( 1,cust->first) )
DBSELECTAREA("CUST2")
Return nil
-
- Posts: 91
- Joined: Wed Jan 02, 2019 8:36 am
Re: POPUPBROWSE o EDIT_LISTBOX en columna browse
Buenos días José Luis.joseluisysturiz wrote:Alguien tiene alguna sugerencia?
Con decir como evaluar cuando se le de al botón que desplega el combo Box creo puedo resolver, intente con onchange y no hizo lo que quería...saludos, gracias...
¿porque empeñarse en controlar el evento al desplegar el boton?
No sería mas sencillo ? , por ejemplo :
- Al introducir en la columna 1 el artículo (o seleccionarlo de un combo), en la columna 2 cargar los datos de las opciones. (puedes anidar tantas variaciones como tengas, en las columnas siguientes)
- joseluisysturiz
- Posts: 2024
- Joined: Fri Jan 06, 2006 9:28 pm
- Location: Guatire - Caracas - Venezuela
- Contact:
Re: POPUPBROWSE o EDIT_LISTBOX en columna browse
Saludos, es exactamente lo que quiero, cuando cargo código en columna 1, en la 2 coloco la descripción y con el combo Box muestro sus asociados, pero si he cargado varias filas y voy a uba anterior y en la columna 2 desplego el combo Box para ver sus asociadas, me muestra es los del último artículo entrado que haya tenido asociados, alli es donde tengo el problema y no se porque, crei cada fila mantendría sus asociados, por eso pense al hacer click en el boton del combo Box en columna 2, cargar de nuevo el array del combo Box von sus derivados como lo hago en la columna 1...alguna idea, sugerencia y ejemplo? Gracias...JESUS MARIN wrote:Buenos días José Luis.joseluisysturiz wrote:Alguien tiene alguna sugerencia?
Con decir como evaluar cuando se le de al botón que desplega el combo Box creo puedo resolver, intente con onchange y no hizo lo que quería...saludos, gracias...
¿porque empeñarse en controlar el evento al desplegar el boton?
No sería mas sencillo ? , por ejemplo :
- Al introducir en la columna 1 el artículo (o seleccionarlo de un combo), en la columna 2 cargar los datos de las opciones. (puedes anidar tantas variaciones como tengas, en las columnas siguientes)
Dios no está muerto...
Gracias a mi Dios ante todo!
Gracias a mi Dios ante todo!
-
- Posts: 91
- Joined: Wed Jan 02, 2019 8:36 am
Re: POPUPBROWSE o EDIT_LISTBOX en columna browse
Claro, te falta una cosa :
oBrw:bChange
Al cambiar de fila debes refrescar el contenido del array :
Yo lo hago así
en la definición del browse
y la función ( esto es solo para el ejemplo, debes montar tu array, buscando en la base de datos o lo que convenga )
oBrw:bChange
Al cambiar de fila debes refrescar el contenido del array :
Yo lo hago así
en la definición del browse
Code: Select all
oBrw:bChange:={ || aLineas:=Cambia_combo(aLineas,oBrw) }
Code: Select all
STATIC FUNCTION Cambia_combo(aLineas,oBrw)
// al movernos debemos refrescar el combo 2 u otros
oBrw:aCols[2]:aEditListTxt:={ "" }
IF aLineas[oBrw:nArrayAt,1]="COCHE"
oBrw:aCols[2]:aEditListTxt:={ "Gasolina 95","Gasolina 98","Diesel normal","Diesel Plus" }
ENDIF
IF aLineas[oBrw:nArrayAt,1]="MOTO"
oBrw:aCols[2]:aEditListTxt:={ "Gasolina 95","Gasolina 98" }
ENDIF
IF aLineas[oBrw:nArrayAt,1]="BICICLETA"
oBrw:aCols[2]:aEditListTxt:={ "A pedales","fuerza humana" }
ENDIF
oBrw:Refresh()
return(aLineas)