Evento clic o doble clic de un mshflexgrid

Cuando realizo la selección en un mshflexgrid de visual basic, tanto con el evento clic, como con el evento doble clic, me toma la fila superior a la que yo selecciono.
En mi caso lo soluciono, porque se que sucede eso, entoncces cargo el que necesito, pero el usuario confiado en que selecciono el registro que clicleo, le muestra el registro anterior.
Como lo puedo solucionar.

1 respuesta

Respuesta
1
No conseguí replicar el problema que tienes. Cada vez que tomo una fila del flexgrid, me da el registro que selecciono, ningún otro...
Cuando dices que te da la fila superior, te refieres al foco dentro del control o a la info que recupera al realizar click.
Seria bueno ver el código.
Bye
Te paso el código que utilizo, la idea es captar los datos del grid y cargarlos en los text. Pero cuando hago el clic sobre el registro que quiero, si tengo uno solo lo toma bien, pero si tengo más de uno, me toma el superior.
fgrid3.Col = 1
Text17.Text = fgrid3.Text
fgrid3.Col = 2
Text18.Text = fgrid3.Text
fgrid3.Col = 3
Text1.Text = fgrid3.Text
fgrid3.Col = 4
Text2.Text = fgrid3.Text
fgrid3.Col = 5
Text9.Text = fgrid3.Text
fgrid3.Col = 6
DTPicker2.Value = fgrid3.Text
fgrid3.Col = 7
Text4.Text = fgrid3.Text
fgrid3.Col = 8
Text5.Text = fgrid3.Text
fgrid3.Col = 9
Text7.Text = fgrid3.Text
fgrid3.Col = 10
Text6.Text = fgrid3.Text
fgrid3.Col = 11
Text12.Text = fgrid3.Text
fgrid3.Col = 12
Text10.Text = fgrid3.Text
fgrid3.Col = 13
DTPicker1 = fgrid3.Text
fgrid3.Col = 14
Text14.Text = fgrid3.Text
Prueba esto, el evento click o doble click
Text17.Text = fgrid3.TextMatrix(fgrid3.Row, 1)
Text18.Text = fgrid3.TextMatrix(fgrid3.Row, 2)
Text1.Text = fgrid3.TextMatrix(fgrid3.Row, 3)
Text2.Text = fgrid3.TextMatrix(fgrid3.Row, 4)
Text9.Text = fgrid3.TextMatrix(fgrid3.Row, 5)
DTPicker2.Value = fgrid3.TextMatrix(fgrid3.Row, 6)
Text4.Text = fgrid3.TextMatrix(fgrid3.Row, 7)
Text5.Text = fgrid3.TextMatrix(fgrid3.Row, 8)
Text7.Text = fgrid3.TextMatrix(fgrid3.Row, 9)
Text6.Text = fgrid3.TextMatrix(fgrid3.Row, 10)
Text12.Text = fgrid3.TextMatrix(fgrid3.Row, 11)
Text10.Text = fgrid3.TextMatrix(fgrid3.Row, 12)
DTPicker1 = fgrid3.TextMatrix(fgrid3.Row, 13)
Text14.Text = fgrid3.TextMatrix(fgrid3.Row, 14)
Bye
Me sigue haciendo lo mismo. Si tengo un solo registro en el fgrid me lo carga bien, pero si ya hay más de uno, no se porque me toma el superior, y por ejemplo el ultimo registro del grid le tengo que hacer clic por debajo en la parte que ya no hay más registro para que me los cargue.
A ver... eso me huele a problemas con el indice... no tendrás por allí alguna linea
Option base 1
Recuerda que en casi la mayoría de los controles de Vb siempre el primer elemento parte con indice 0 y no con 1
prueba esto, modifica las lineas Text17. Text = fgrid3. TextMatrix((fgrid3. Row-1), 1)
Con esto fuerzas a que la linea del grid sobre la que pones el puntero y haces click sea la que eliges menos 1, or ende tu posición
aunque puede solucionarlo, lo ideal seria ver por que se produce, yo ervise tu código y no anda mal, y ese que te sugerí, funciona sin problemas, por lo menos en cuanto lo corrí localmente en mi tarro.
Pase tu código y me sucede lo mismo, pero no siempre, hay veces que lo toma bien y otras que no. Lo que me pasaste en la primera selección funciona bien, pero al seguir con la búsqueda de otro socio(ese es mi caso) me tira error, así que volví al código original.
Revise y tampoco tengo un option base, relacionado con este grid. Tengo uno, pero es para seleccionar el tipo de búsqueda.
Seguiré probando.
Ahora abro otra pregunta, pero te consulto por acá, tengo un insert to para mandar a access con 23 campos a insertar, pero me toma 16 campos, cuando pongo el punto de detección y llevo la sentencia a la consulta de access me figuran 16 campo de los 23. Sabes como solucionarlo.
Saludos y mil gracias nuevamente
Ups, me temo que no, sorry

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas