FoxPro/Visual FoxPro - GUARDAR VALORES DEL OPTIONGROUP

 
Vista:
sin imagen de perfil

GUARDAR VALORES DEL OPTIONGROUP

Publicado por Jose (8 intervenciones) el 07/07/2016 21:20:03
Hola.
Básicamente lo que quiero hacer es guardar los valores de los OptionGroup en una grilla, pero no sé como hacerlo.
Con esto dicho, para aclarar, mi optiongroup tiene 3 options, y es algo así: Factura A. Factura B. Factura C.
Yo quiero elegir una de estas opciones y que me guarde ese valor, pero que sea justamente A, B ó C en la grilla, osea, que me convierta ese valor a una de estas letras, si es necesario.

Eso es todo. Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 1.011
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

GUARDAR VALORES DEL OPTIONGROUP

Publicado por Fidel José (657 intervenciones) el 07/07/2016 22:06:11
Supongo que te refieres al ingreso de facturas de compras, porque si se trata de facturas de ventas, o son A y B, o son C. Las tres juntas no van. Además, te falta la previsión de la factura M.

Sin duda, este es uno de los casos en que un combobox es más eficiente que un optiongroup.
Pero si quieres seguir con el OptionGroup, puedes hacer lo siguiente:
Supongamos que el optiongroup se llama "opt_Factura"
Crea una propiedad, digamos "ValOption", con un click en Assign_Method. Esto creará automáticamente un método en el formulario llamado
ValOPtion_Assign.
En el init del form puedes poner
This.ValOption = 0
This.opt_factura.ControlSource = "Thisform.valOption"

Y en el método valOption_assign te tiene que quedar algo así (verás que parte del código ya está escrito, así que solo agregas lo que cambia.
1
2
3
4
5
6
7
8
9
10
LPARAMETERS vNewVal
*To do: Modify this routine for the Assign method
lcFactura = ICASE(m.vNewVal=1,"A",;
				m.vNewVal=2,"B",;
				m.vNewval=3,"C",;
				"")
IF !EMPTY(m.lcFactura)
	MESSAGEBOX("Inicia Factura "+lcFactura)  && acá debería llamarse el proceso que corresponda
ENDIF
THIS.VALOPTION = m.vNewVal

Otra opción, por ahí más simple, es programar lo mismo en el ClickEvent del optionGroup
Por ejemplo, donde derivo lo que hay que hacer para un método del form llamado Factura, que tiene un parámetro.
1
2
3
4
5
6
7
8
9
DO CASE
	CASE this.Value = 1
		thisform.Factura("A")
	CASE this.Value = 2
		thisform.Factura("B")
	CASE this.Value = 3
		thisform.Factura("C")
 
ENDCASE
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar