FoxPro/Visual FoxPro - Problemas con Check y Grid

 
Vista:
sin imagen de perfil
Val: 96
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Problemas con Check y Grid

Publicado por roberto (55 intervenciones) el 29/10/2020 19:54:53
Hola a todos, he leído mucho respecto a el tema de como incorporar un check en la celda de un grid lo hice sin problemas, pero pasa algo que no puedo resolver.

Se carga la grilla y muestra los check que leen la información del campo de un cursor numérico que puede tener cero o uno.

Opero los chekc sin problemas y de acuerdo a las pulsaciones cambia la opción en forma correcta.

El problema se produce cuando quiero seleccionar otro grupo de datos y la grilla se carga de nuevo, se desaparecen los check y al pulsar sobre la linea en el lugar del check aparece 1 o desaparece el uno según pulse sobre la misa linea nuevamente.

Como antecedente a la columna que le agregue el check le elimine el text.
El spase=.f.
Al ejecutar el proceso la grid esta visible=.f. y se hace visible si de acuerdo a las condiciones el cursor contiene datos.
Al ejecutar una nueva búsqueda, la grid se hace visible=.f. nuevamente.

Adjunto dos imágenes para clarificar mas el problema


Espero haber sido claro con la consulta.

Gracias de antemano
img1
img2
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
Imágen de perfil de Abel
Val: 642
Plata
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Problemas con Check y Grid

Publicado por Abel (286 intervenciones) el 30/10/2020 17:59:05
Antes de ejecutar el proceso que mencionas;¿dejas en blanco el RecordSource del grid?
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
sin imagen de perfil
Val: 96
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Problemas con Check y Grid

Publicado por roberto (55 intervenciones) el 30/10/2020 19:46:16
Hola gracias por responder, efectivamente dejo el recordsourse="" y lo mas extraño es que igual se pierde el check pero la funcionalidad no se pierde porque al pinchar sobre la linea, el valor de la columna pasa a 1 o vuelve a 0 y se borran los contenidos de la columna N° Factura y fecha.

Hice una prueba en un form simple con dos botones sin utilizar los objetos donde se carga el año,mes,factura,fecha y cliente, en definitiva esas variables las carga por código con un botón que mostraba y otro que ocultaba la grilla y funcionaba bien, pero a incorporar los objetos vuelve el problema de nuevo.

Este es el codigo utilizado y funciona siempre y cuando no agregue los objetos


init del form
1
2
PUBLIC ano_p,mes_p,rutcli_p,digcli_p,nomcli_p,fecfac_p,factura_p
STORE "" TO  ano_p,mes_p

click command1
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
68
69
70
71
72
73
74
75
76
77
78
79
80
* variables que reemplazan a llos obj eliminados
ano_p="2020"
mes_p="10"
rutcli_p="76098727"
thisform.grid1.RecordSource=""
SELECT a.numero,;
		a.fecha,;
		a.cantidad,;
		a.cant2,;
		a.cant3,;
		a.cant4,;
		a.cant5,;
		a.cant6,;
		a.rutcli,;
		a.facturado,;
		a.factura,;
		a.fecfac;
	FROM tb_maemov a;
	WHERE rutcli=rutcli_p and ano=ano_p and mes=mes_p;
	INTO CURSOR cur_maemov
USE IN tb_maemov
 
 
SELECT numero,fecha,cantidad,cant2,cant3,cant4,cant5,cant6,facturado,factura,fecfac;
	FROM cur_maemov;
	INTO CURSOR cur_grid readwrite
USE IN cur_maemov
 
WITH thisform.grid1
		.recordsource="cur_grid"
		.Column1.ControlSource   ="cur_grid.numero"
		.Column2.ControlSource   ="cur_grid.fecha"
		.Column3.ControlSource   ="cur_grid.cantidad"
		.Column4.ControlSource   ="cur_grid.cant2"
		.Column5.ControlSource   ="cur_grid.cant3"
		.Column6.ControlSource   ="cur_grid.cant4"
		.Column7.ControlSource   ="cur_grid.cant5"
		.Column8.ControlSource   ="cur_grid.cant6"
		.Column9.ControlSource   ="cur_grid.facturado"
		.Column10.ControlSource   ="cur_grid.factura"
		.Column11.ControlSource   ="cur_grid.fecfac"
		.columns[1].Header1.Caption="Numero"
		.columns[2].Header1.Caption="Fecha"
		.columns[3].Header1.Caption="Grava"
		.columns[4].Header1.Caption="Arena"
		.columns[5].Header1.Caption="Gravilla"
		.columns[6].Header1.Caption="Ripio Integral"
		.columns[7].Header1.Caption="Estabilizado"
		.columns[8].Header1.Caption="Otro"
		.columns[9].Header1.Caption="Facturado"
		.columns[10].Header1.Caption="N° Factura"
		.columns[11].Header1.Caption="Fecha"
		.SetAll("DynamicBackColor", ;
		"IIF(facturado=0, RGB(255,255,255) ;
		, RGB(51,153,255))", "Column")
		.Setall("format","Z","Column")
		.SetAll("Resizable", .F.,"Column")
		.SetAll("fontbold", .t.,"header")
		.SetAll("alignment", 2,"header")
		.Width=648
		.left=745/2-.width/2
		.columns[1].width=50
		.columns[2].width=70
		.columns[3].width=50
		.columns[4].width=50
		.columns[5].width=50
		.columns[6].width=80
		.columns[7].width=70
		.columns[8].width=50
		.columns[9].width=70
		.columns[10].width=70
		.columns[11].width=70
		.ScrollBars=3
		.readonly=.T.
		.DeleteMark=.F.
	    .RecordMark=.T.
		.allowheadersizing=.f.
		.allowrowsizing=.f.
		.visible=.t.
	ENDWITH

click de la grilla
1
2
3
4
5
6
7
8
9
10
11
12
13
* variables que reemplazan a llos obj eliminados
factura_p="32489"
fecfac_p=CTOD("20/10/20202")
 
 
Replace facturado With IIF(facturado = 0, 1, 0)
replace factura WITH IIF(facturado=0,"",factura_p)
replace fecfac WITH  IIF(facturado=0,ctod("  /  /    "),fecfac_p)
If facturado = 1
	Thisform.grid1.HighlightBackColor = Rgb( 255, 0, 0 )
Else
	Thisform.grid1.HighlightBackColor = Rgb( 0, 0, 255 )
Endif

Img3
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
Imágen de perfil de Abel
Val: 642
Plata
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Problemas con Check y Grid

Publicado por Abel (286 intervenciones) el 31/10/2020 15:11:46
No suelo redefinir toda la grilla como lo haces tu; lo defino gráficamente y luego solo apunto hacia la tabla con ControlSource; pero prueba agregando lo siguiente en el código del botón...

1
2
.Column9.CurrentControl = "Check1"
.Column9.Sparse = .f.
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