FoxPro/Visual FoxPro - el combobox3 muestra el valor del parametro enviado y el combobase2 no lo muestra

   
Vista:

el combobox3 muestra el valor del parametro enviado y el combobase2 no lo muestra

Publicado por sergio (6 intervenciones) el 14/07/2016 02:52:31
Hola tengo un problema con dos combobox
el tema es que el combobox3 muestra el valor del parametro enviado y el combobase2 no lo muestra y doy vueltas y vueltas y no consigo que el combobase2 muestre el valor enviado porparametro

Alguna ayuda podra ser

PARAMETERS phoramin
ThisForm.Combobase2.Visible = .t.
ThisForm.Combobase2.BoundColumn = 1
ThisForm.Combobase2.ColumnCount = 1
ThisForm.Combobase2.ColumnWidths = '75'
ThisForm.Combobase2.RowSourceType = 1
ThisForm.Combobase2.RowSource = "12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30"
thisform.combobase2.Value = phoramin


PARAMETERS phoramax
ThisForm.Combobase3.Visible = .t.
ThisForm.Combobase3.BoundColumn = 1
ThisForm.Combobase3.ColumnCount = 1
ThisForm.Combobase3.ColumnWidths = '75'
ThisForm.Combobase3.RowSourceType = 1
ThisForm.Combobase3.RowSource = '12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30'
thisform.combobase3.Value = phoramax
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

el combobox3 muestra el valor del parametro enviado y el combobase2 no lo muestra

Publicado por Fidel José (321 intervenciones) el 14/07/2016 17:09:17
Una solución posible:
El método del formulario crea dos propiedades del form, "HoraMin" y "HoraMax".
El método debe contemplar las restricciones del modelo (de 12:30 a 20:30) y controlar los minutos intermedios.
A fin de no repetir la validación, tratándose de la misma serie de horas posibles, se construye un solo método cuya actividad se configura con el segundo parámetro (tnFlag).

Los valores que muestran los respectivos combobox están en las propiedades Thisform.HoraMin y Thisform.HoraMax agregadas por el método Get_cmbHoras.

Las llamadas:
lchora1 = "12:46"
lcHora2 = "20:35"
Thisform.Get_cmbHoras(lcHora1,0)
thisform.Get_cmbHoras(lcHora2,1)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
*Method Get_CmbHoras
LPARAMETERS tcHora ,tnFlag
*!*	tcHora	Valor hora tipo LEFT(TIME(),5)
*!*	tnFlag = 0	HoraMin
*!*	tnFlag = 1 HoraMax
tnFlag = MIN(EVL(m.tnFlag,0),1)
 
LOCAL lcHoras,i,lnHora,lnMinu
tcHora=EVL(tcHora,"00:00")
lnHora = MIN(MAX(VAL(GETWORDNUM(tcHora,1,":")),12),20)
lnMInu = VAL(GETWORDNUM(tcHora,2,":"))
DO CASE
	CASE lnMinu = 0
	CASE lnMinu = 30
	CASE BETWEEN(lnMInu,1,15)
		lnMinu = IIF(m.lnHora=12,30,0)
	CASE BETWEEN(lnMinu,16,29)
		lnMinu = 30
	CASE BETWEEN(lnMinu,31,45)
		lnMinu = 30
	CASE BETWEEN(lnMinu,46,59)
		IF lnHora<20
			lnMinu = 0
			lnHora = lnHora + 1
		ELSE
			lnMinu = 30
		ENDIF
ENDCASE
tcHora = PADL(TRANSFORM(lnHora),2,"0");
			+":";
			+PADL(TRANSFORM(lnMInu),2,"0")
 
*** MESSAGEBOX(tcHora)
 
lcHoras = "00:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30"
DO CASE
	CASE m.tnFlag = 0
		ADDPROPERTY(this,"horamin",m.tcHora)
		WITH this.combobase2
			.Style= 2
			.RowSourceType=0
			.boundcolumn = 1
			.width = 75
			.ControlSource = 'thisform.horamin'
			FOR i = 1 TO GETWORDCOUNT(m.lcHoras,",")
				.AddListitem(GETWORDNUM(m.lcHoras,i,","),i,1)
			NEXT
			.requery
			.refresh
		ENDWITH
	CASE m.tnFlag = 1
		ADDPROPERTY(this,"horamax",m.tcHora)
		WITH this.combobase3
			.Style= 2
			.RowSourceType=0
			.boundcolumn = 1
			.width = 75
			.ControlSource = 'thisform.horamax'
			FOR i = 1 TO GETWORDCOUNT(m.lcHoras,",")
				.AddListitem(GETWORDNUM(m.lcHoras,i,","),i,1)
			NEXT
			.requery
			.refresh
		ENDWITH
 
 
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

el combobox3 muestra el valor del parametro enviado y el combobase2 no lo muestra

Publicado por sergio (6 intervenciones) el 14/07/2016 23:38:08
Hola te adelanto un gracias
pero sigo con el mismo problema, en el combobase2, no trae el valor por defecto que le envio como parametro, el combobase3 si lo muestra, pero el comobase2 no lo mmuetras

gracias por si me das otra ayuda
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