Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-09-2011
Niiña Niiña is offline
Miembro
NULL
 
Registrado: sep 2011
Posts: 36
Poder: 0
Niiña Va por buen camino
Como seleccionar con un click una fila del dbgrid.

Holaa.. Quisiera saber como puedo seleccionar una fila del dbgrid haciendo click o enter en un Formulario, y que un campo de cualquier fila se agregue o aparezca en un Edit en otro Formulario..?
Responder Con Cita
  #2  
Antiguo 28-09-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
hola
puedes ser mas especifica?
que base de datos usas que componentes usas, etc etc
como lo estas haciendo
puedes usar dbedits asociados a una dataset
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #3  
Antiguo 28-09-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
que un campo de cualquier fila se agregue o aparezca en un Edit en otro Formulario..?
Hola Niiña.

Algo parecido se trató aquí. Adaptando a tu caso la propuesta de roman del enlace anterior, creo que podrías hacer algo parecido a esto:

Form1 (receptor):
Código Delphi [-]
type
  TForm1 = class(TForm)
    Edit1: TEdit;
    procedure FormShow(Sender: TObject);
  private
    procedure ValueChange(Value: string);
  public
  end;

var
  Form1: TForm1;

implementation 

uses Unit2;

procedure TForm1.FormShow(Sender: TObject);
begin
  with TForm2.Create(Self) do
  begin
    FieldChange:= ValueChange;
    Show;
  end;
end;

procedure TForm1.ValueChange(Value: string);
begin
  Edit1.Text:= Value;
end;
...

Form2 (emisor):
Código Delphi [-]
...
type
  TFieldChange = procedure(Value: string) of object;
  TForm2 = class(TForm)
    ...
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    procedure DBGrid1CellClick(Column: TColumn);
  private
    FFieldOnChange: TFieldChange;
  public
    property FieldChange: TFieldChange read FFieldOnChange
      write FFieldOnChange;
  end;

var
  Form2: TForm2;

implementation 

{ DBGrid OnCellClick }
procedure TForm2.DBGrid1CellClick(Column: TColumn);
begin
 if Assigned(FFieldOnChange) then
    FFieldOnChange(DBGrid1.SelectedField.AsString);
end;
...
En este caso usé el evento OnCellClick del DBGrid pero podrías usar el OnClick de un TButton, etc.

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 28-09-2011 a las 23:53:15.
Responder Con Cita
  #4  
Antiguo 29-09-2011
Niiña Niiña is offline
Miembro
NULL
 
Registrado: sep 2011
Posts: 36
Poder: 0
Niiña Va por buen camino
Estoy utilizando la base de datos en Firebird.
Tengo un Form1 como base y lo conecto a la base de datos con los componentes TiBConnection, TSQLtransaction, TSQLQuery, y TDatasource , luego agrego un nuevo Form2 lo conecto por medio de un boton.

Al Form2 le agrego un TDBGrid1 y un TEdit1, con el SQLQuery muestro la consulta que necesito..
En el Edit1 voy escribiendo el campo con el nombre que quiero..

Necesito es saber como pasar esa fila o un campo de la fila que se esta seleccionando en el DBGrid con un click o enter y pase la información a un Edit que tengo en el primer Form1 que tengo como base.

Nota: Los Formularios los cree con distinta conexión pero le asigne la misma base de datos.. "No se si tenga problemas con eso cuando quiera pasar la información de la fila del DBGrid de un form al Edit del otro form" .

Por Favor espero Respuestas..
Responder Con Cita
  #5  
Antiguo 29-09-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por Niiña Ver Mensaje
Estoy utilizando la base de datos en Firebird.
Tengo un Form1 como base y lo conecto a la base de datos con los componentes TiBConnection, TSQLtransaction, TSQLQuery, y TDatasource , luego agrego un nuevo Form2 lo conecto por medio de un boton.

Al Form2 le agrego un TDBGrid1 y un TEdit1, con el SQLQuery muestro la consulta que necesito..
En el Edit1 voy escribiendo el campo con el nombre que quiero..

Necesito es saber como pasar esa fila o un campo de la fila que se esta seleccionando en el DBGrid con un click o enter y pase la información a un Edit que tengo en el primer Form1 que tengo como base.

Nota: Los Formularios los cree con distinta conexión pero le asigne la misma base de datos.. "No se si tenga problemas con eso cuando quiera pasar la información de la fila del DBGrid de un form al Edit del otro form" .

Por Favor espero Respuestas..
Hola.

Precisamente eso hace el código que te puse en el mensaje anterior, pasar el valor del campo seleccionado en DBGrid1 ubicado en Form2 a la propiedad Text de Edit1 que está en Form1...

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 29-09-2011 a las 00:52:14.
Responder Con Cita
  #6  
Antiguo 29-09-2011
Niiña Niiña is offline
Miembro
NULL
 
Registrado: sep 2011
Posts: 36
Poder: 0
Niiña Va por buen camino
Hola..

Intente correr el programa con este código pero me da error.

El error es: "Wrong number of parameters specified for call to "Valuechange".

procedure TForm1.FormShow(Sender: TObject);
begin
with TForm2.Create(Self) do
begin
FieldChange:= ValueChange; <--- aquí se que hay que colocar el parámetro pero he intentado colocar varios y nada..
Show;
end;
end;

No se resolverlo ..
Responder Con Cita
  #7  
Antiguo 30-09-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Niiña.

Te adjunto un demo para que lo revises con tranquilidad.

Para evitar problemas de contraseña y unificar criterios, no utilizé Firebird sino BDE con la tabla Country.DB que viene con Delphi por defecto.
Si querés, podés eliminar el TTable y añadir IBDatabase, IBTransaction, IBQuery o IBDataSet, asignarle el nuevo TDataSet al TDataSource con que se relaciona el DBGrid y funcionará del mismo modo.

Cualquier dificultad, no dudes en avisarme.

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 17-11-2011 a las 17:00:28.
Responder Con Cita
  #8  
Antiguo 30-09-2011
Niiña Niiña is offline
Miembro
NULL
 
Registrado: sep 2011
Posts: 36
Poder: 0
Niiña Va por buen camino
Gracias.. ! Deja revisar.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
DBGRID ¿como seleccionar fila y obtener datos de la fila ? JXJ Varios 5 18-04-2017 02:50:14
Seleccionar fila DBgrid ?? Coco_jac Varios 3 25-05-2010 16:58:41
Seleccionar una fila de un DBGrid chinchan C++ Builder 3 09-03-2010 16:58:37
Seleccionar fila en DBGrid cslbcn Conexión con bases de datos 2 07-11-2008 18:29:45
Seleccionar una fila de un dbgrid NuncaMas Conexión con bases de datos 3 22-01-2004 09:55:48


La franja horaria es GMT +2. Ahora son las 11:36:38.


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
Copyright 1996-2007 Club Delphi