FoxPro/Visual FoxPro - Seleccionar column1 aprentando en column2 en grip

   
Vista:

Seleccionar column1 aprentando en column2 en grip

Publicado por denis d3nisortiz@gmail.com (2 intervenciones) el 08/04/2016 21:04:06
Hola a todos ,
tengo un grid que con un cursor le cargo los datos procendente de una tabla llamada prestamo el cual tiene relacion con dos tablas , una es lector y otro es libro, se relacionan con su codigo y al querer cargar sus datos al seleccionar en unos txtbox para mostrar solo me funciona si seleciono el codigo del prestamo ya que eso no se puede repetir pero si selecciono sobre otra celda ej: nombre , no me suele cargar bien los datos , ahi tambien hago un cursor pero un nombre puede tener varios prestamos asi que el cursor me trae varios registro y en los texbox se suelen cargar el primero de ellos y mi idea es que al apretar sobre esas celdas, que pueden ser nombre del libro o nombre del lector en el evento click vaya a hacer el click en el codigo que le corresponde ya que dando click ahi si me carga bien los datos, en el click de nombre de lector y libro puse thisform.grid.column.text1.click pero me trae los datos del primer registro y si yo aprieto sobre un registro nr25 por ejemplo yo querria que el click se haga con el codigo que esta en el registro 25 , no se si me doya entender pero agradeceria mucho su ayuda , apenas empiezo en vfp ,
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

Seleccionar column1 aprentando en column2 en grip

Publicado por Fidel José (321 intervenciones) el 09/04/2016 01:37:01
De todo lo que pones, casi no entiendo nada.
Entiendo que tienes 3 tablas: prestamo, lector y libro. Al control grid asocias la tabla préstamo, etc.

Desde el principio: Qué es lo que pretendes mostrar?

La mayoría de las acciones relacionadas con un control grid se lanzan desde el evento AfterRowColChange del grid.

Este tipo de código " thisform.grid.column.text1.click" no debe utilizarse en general, pero menos en un control grid porque solo puede traerte problemas. Tampoco tienes que escribir código en los objetos del control grid. Un simple .ColumnCount = -1 te hará desaparecer todo tu código en tiempo de ejecución.

Si necesitas que se produzcan efectos diferentes de acuerdo a dónde hace click el usuario dentro del control Grid, tendrás que utilizar métodos más sofisticados.
Lo más recomendable es tener una clase textbox caracter, otra numérica, otra para fechas y una clase checkbox, que prevean la posiblidad de ejecutar un método de un formulario. El nombre del método a ejecutar se puede pasar como parámetro y generalmente se lo ejecuta con RaiseEvent(). A estas clases las subes en tiempo de ejecución y te pueden servir para todos tus grids. Es más, lo recomendable es tener una clase grid configurable mediante parámetros o a través de un objeto que puede estar predefinido (p.ej. una clase custom con propiedades predefinidas que levantas, rellenas y envías como objeto parámetro al Grid.).

Alternativamente, para VFP8 y 9, puedes utilizar BindEvent con uno o más métodos delegados.

Visual Fox es tan versátil que te permite escribir un código horrible y que de todos modos funcione. Pero la única forma de que funcione bien, con la mayor productividad y que resulte de una gran eficiencia incluso en planteos complejos, es desarrollando tus bibliotecas de clases que vas a necesitar para tus aplicaciones.

Enlaces recomendados:
http://comunidadvfp.blogspot.com/
http://fdbozzo.blogspot.com.es/2014/09/vfp-guia-de-buenas-practicas-de.html
http://fdbozzo.blogspot.com.es/2014/01/crear-un-proyecto-foxpro-por-donde.html
http://fdbozzo.blogspot.com.es/2014/01/desmitificando-el-control-de-errores.html
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Seleccionar column1 aprentando en column2 en grip

Publicado por Denis (2 intervenciones) el 19/04/2016 21:56:54
muchas gracias por tu respuesta , arregle el problema pero agradesco tu respuesta , me podre a investigar bien el tema
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