PDA

Ver la Versión Completa : DBGrid a Edit(X).text


Chuma87
24-09-2010, 23:38:15
Buenas Tardes, tengo el siguiente problema
Tengo un DBGrid conectado a la base de datos (dataset) cuando hago dobleclick en el campo, me tiene q seleccionar toda la fila (Options/DGrowselect = true). Ahora, lo que quiero es pasar los campos de esa fila, a unos edits q tengo en el formulario, cómo lo tengo que hacer?

[DELPHI] Ads.Close;
Ads.CommandType:= cmdtext;
Ads.CommandText := 'Select * from PRODUCTOS';
Ads.Open;
Edit1.Text := Ads.FieldValues['Descripcion'];
Edit2.Text := Ads.FieldValues['Preciounitario'];
Application.MessageBox('Carga Exitosa','Mensaje');

ADS es el nombre del data set, obvio, lo cambie.

ahora, esto lo que hace es que al darle dobleclick sobre la fila, los datos son transportados a los edits, pero, NO LA FILA QUE SELECCIONE!, si no, la primer fila del DBGrid1.
Cómo hago para pasar a los edits, la fila que YO SELECCIONO?????.

Caral
25-09-2010, 01:13:48
Hola
Usando el dataset del dbgrid no otro.
Saludos

ecfisa
25-09-2010, 02:00:40
Hola Chuma87, amigo Caral...

No he trabajado con SLQ Server 2000 y por ahí acoto una barrabasada...

No entiendo por que, si estás trabajando con un DataSet asociado al DBGrid, cerrás la consulta antes de pasar a los Edits la selección realizada... :confused:

Me parece lógico que te presente el primer registro y no el seleccionado si acabas de hacer un Open/Close sobre el DataSet involucrado.

Saludos. :)

Caral
25-09-2010, 02:07:20
Hola
Amigo, como dice el chavo: eso, eso, eso,,,,,,,:D:D
Estas en lo cierto, es lo que dije yo solo que mas adornadito.:p
No tiene que ver que sea ADO o ADA, lo cierto es que si haces otra consulta sobre esa borraras la primera, ademas de que no es la forma mas sencilla de hacerlo.
Bueno: Espero haberte enseñado algo nuevo mas........:D:D:D;););)
Saludos

BlueSteel
25-09-2010, 02:08:31
Hola

Lo que te dicen es cierto.. para que cierras la consulta.. si ya la tienes abierta y tienes seleccionado el registro.. solo basta con hacer lo sgte;


Edit1.Text := Ads.FieldValues['Descripcion'];
Edit2.Text := Ads.FieldValues['Preciounitario'];
Application.MessageBox('Carga Exitosa','Mensaje');


Salu2
:p:D

ecfisa
25-09-2010, 02:17:10
Hola
Bueno: Espero haberte enseñado algo nuevo mas........:D:D:D;););)
Saludos
Claro que sí !! por eso corregí: ADO por SQL Server 2000 !!! :D:D

Como verás el equivocarme está en mí... :D

Un abrazo. :)

Caral
25-09-2010, 02:23:28
Hola
Lo vi amigo, lo vi...:D
Si no te equivocaras no aprenderías, por que crees que me equivoco tanto.:)
Lastima que no hay mas codigo, asi habría mas posibilidades de equivocarnos, osea, aprender..;)
Saludos
PD: Luego dicen que desvirtuamos los hilos jajaja.....:p:D

Chuma87
25-09-2010, 03:25:34
A Buenooo, no me creia tan capaz de ser TAN BURRO, es verdad, si ya tengo el DBGrid abierto, para que lo voy a cerrar y hacer una consulta en donde me muestre todo de nuevo?? que bobo que soy....GRACIAAAAASSSSSSSSSSS