Obtener dato de una celda especifica DBGRID
Buenas tardes a todos, he tenido que crear un tema ya que he visitado varios link que se acercan a lo que busco o pero ninguno hace realmente lo que busco y por falta de sintaxis no he podido resolverlo yo mismo lamentablemente... Explico el asunto a ver si alguién me puede ayudar o por lo menos orientar. Muchas gracias de ante mano.
En primera instancia buscaba alguna manera de obtener el valor de una celda en la que haga clic dentro de un DBGRID, no de la manera en que muchos piensan. en el evento Oncellclick del DBGRID Y PONGO:
Porque siempre voy a capturar el valor CODMONEDA según la fila donde me posicione... pero en mi caso tengo 4 campos en mi tabla CODMONEDA,FECHAINICIAL, FECHAFINAL, NATURALEZACUENTA... yo lo que deseo es que si me posiciono con el mouse y doy clic en una celda por ejemplo FECHAFINAL, el tome el valor de la fecha, no siempre del mismo dato, sino que dependiendo del dato donde de clic sea el dato que obtengo. pero como al parecer no existe un tema que toque esto, me iría por lo más fácil que sería tomar el indice o la posición de la celda, es decir si me posiciono en la celda de la columna FECHAFINAL, en ves de traerme el dato que sería por ejemplo un: 12/12/2012, me traería un 3, ya que es la tercera posición de la fila en la que esté posicionado y haría algo como esto: IF POSICIÓN_OBTENIDA = 1 then DATO_CAPTURADO:=Form5.DBGrid1.DataSource.DataSet.FieldByName('CODMONEDA').AsInteger ELSE IF POSICIÓN_OBTENIDA = 2 DATO_CAPTURADO:=Form5.DBGrid1.DataSource.DataSet.FieldByName('FECHAINICIAL').AsInteger ELSE etc.. etc... y de esa manera obtener de una forma menos decorosa el dato que requiero... espero no sea tan difícil obtener la posición de la celda en la que se de clic... Este método que desarrollo el amigo ECFISA, funciona a la perfección y fue lo mas cercano a lo que busco que encontré salvo con la cuestión de que el dato no lo obtengo por eventos de OncellClick que sería lo ideal sino por datos ingresados por el usuario o datos predefinidos, estoy buscando la manera de adaptarlo a lo que busco que es, en ves de asignarle datos de filas y columnas fijos, lo obtenga directamente en el evento Oncellclick dando click con el mouse y de esa manera pueda traerme ya sea el valor o la posición por lo menos del campo, para seguir avanzando, espero haberme podido explicar bien. Muchas gracias a quién pueda por lo menos orientarme, saludos a todos. Ejemplo de codigo de ECFISA...
|
Hola principiodual.
Me corregirás si me equivoco... Lo que entendí es que deseas obtener el valor de la celda en que estas posicionado, ya sea cuando haces click con el mouse o cuando te desplazas con el teclado. Si ese es el caso, reescribiéndo el método UpdateActions del form lo vas a poder resolver de modo simple y eficiente:
Saludos :) |
Hola, no estoy muy convencido de lo que quieres, pero si solo requieres obtener el valor de la celda donde hagas clic basta con este simple código:
En el ejemplo que pongo al hacer clic en una celda del DBGrid1, el valor de la celda se muestra en Edit1 sin importar de que tipo sea el dato. Saludos, espero que esto se aproxime a lo que buscas. |
Cita:
|
Cita:
Muchas gracias amigo, era parte de la solución que buscaba por si no podia obtener directamente el valor de la celda que seleccione en el DBGRID. Apenas pueda pruebo y les comento. Saludos |
La franja horaria es GMT +2. Ahora son las 15:19:28. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi