PDA

Ver la Versión Completa : valor de una celda de un dbgrid


alopete
17-10-2007, 12:09:08
Hola:

Tengo un problemilla con el valor de una celda de un dbgrid:

La celda tiene la propiedad buttonstyle a btnEllipsis. Entonces cuando me posiciono en la celda me aparece el boton. Al pulsar el boton se abre otro form recogiendo el valor que hay en la celda del dbgrid.
Mi problema es que si modifico el valor de la celda y sin clicar en otra celda, pulso el boton, al abrir el otro form, en vez de recoger el valor que acabo de escribir, recoge el que habia en la celda antes de cambiarlo. Como se puede recoger ese valor? Lo he intentado en varios eventos (edit,client data set,...) pero no consigo obtener el valor ultimo.

No se si ha quedado demasiado claro.

Neftali [Germán.Estévez]
17-10-2007, 14:04:37
¿Cómo recoges el valor de la celda?

alopete
17-10-2007, 14:44:15
Buenas neftali:
Para recoger el valor utilizo DBGrid1.Columns[6].Field.AsString en el evento DBGrid1EditButtonClick. Pero mde recoge el valor de antes de ser cambiado. En pantalla (en la celda ) veo un valor y la sentencia me devuelve el anterior. Tambien he probado en el clientdataset y en varios eventos pero no lo he conseguido. He mirado los post que he encontrado en el foro y tampoco me funciona.

Neftali [Germán.Estévez]
17-10-2007, 16:34:16
Creo que el problema es que no ha validado (no ha llegado a guardar) ese valor cuando pulsas el botón. ¿has probado a forzar eso?
Se me ocurre al entrar en el botón podrías obligar a perder el foco y volverselo a poner, aunque tal vez hay alguna forma de hacerlo sin necesidad de eso.

alopete
17-10-2007, 17:32:46
Ese es el problema. Lo he solucionado de chiripa: en el edit del campo, le he puesto primero DBGrid1.SelectedIndex:=1. Ni siquiera sabia lo que hacia y tampoco estoy muy seguro. Parece que envia el foco al campo numero 1 del grid y de esa forma si que lo valida, pero no estoy seguro pq no entiendo bien el ingles de la ayuda.

Muchas gracias