Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Pasar demas datos de un DBGRID a TEDIT's (https://www.clubdelphi.com/foros/showthread.php?t=41205)

Ericato 09-03-2007 15:49:07

Pasar demas datos de un DBGRID a TEDIT's
 
Hola a todos. les cuento el problema: trabajando desde un dbgrid con ciertos datos importantes de una tabla, lo que quiero hacer es que haciendo doble click en un registro de la grilla, me aparezca en otro Form los demás datos que se muestran en esa del Form anterior. Pj: en la grilla muestro Nº Documento y Nombre/Apellido, en el otro Form quiero mostrar en edit's los campos Tipo Doc, Direccion, Tel, etc. Además, otra consulta: se puede eliminar la barra de scrooll horizontal de un DBGRID????

Lepe 09-03-2007 16:03:19

¿y cual es el problema?

En el evento doble clic del grid, puedes consultar el dataset ligado, así puedes obtener cualquier dato de ese registro. Después solo tienes que mostrar la forma y tomar los datos de ese dataset.

Saludos.

Ericato 09-03-2007 16:47:37

decime plis, LEPE, que significa consultar el dataset ligado y sobre la segunda pregunta????? puedo eliminar las barras de scroll del DBGrid??

jhonny 09-03-2007 17:11:07

El dataset Ligado es el que esta Ligado al dataSource que a su vez esta ligado al DataSet... ¿que enredo verdad?... mejor así:
Un Dataset es la clase padre de: una Tabla, una consulta y muchos otros, lo que sucede es que como no especificaste que era lo que realmente estabas usando pues se asume de que es uno de tantos hijos que tiene TDataSet.
En cuanto a la segunda pregunta pues me supongo que la manera seria ajusta un poco mas los campos que tienes en la Grid para que todos puedan salir en pantalla, pues la verdad es que no conozco otra forma de hacerlo.

poliburro 09-03-2007 17:23:32

Deberás crear un componente que lo haga: Aquí te mando el código:

Código Delphi [-]
 
 
unit NoScrollDBGrid;
interface
uses
  SysUtils, Classes, Controls, Grids, DBGrids, Messages, Windows;
type
  TNoScrollDBGrid = class(TDBGrid)
  private
    { Private declarations }
    procedure WMNCCalcSize(var Msg: TMessage);
      message WM_NCCALCSIZE;
  protected
    { Protected declarations }
  public
    { Public declarations }
  published
    { Published declarations }
  end;
procedure Register;
implementation
procedure TNoScrollDBGrid.WMNCCalcSize(var Msg: TMessage);
const
  Scrollstyles = WS_VSCROLL;
var
  Style: Integer;
begin
  Style := GetWindowLong(Handle, GWL_STYLE);
  if (Style and Scrollstyles) <> 0 then
    SetWindowLong(Handle, GWL_STYLE, Style and not Scrollstyles);
  inherited;
end;
procedure Register;
begin
  RegisterComponents('Especiales', [TNoScrollDBGrid]);
end;
end.

jhonny 09-03-2007 17:44:05

casualmente acabo de encontrarme con otra alternativa... Si no quieres ver barras horizontales puedes hacer esto también...

Ejemplo:
Código Delphi [-]
 
TStringGrid(DBGrid1).Scrollbars:=ssVertical;


La franja horaria es GMT +2. Ahora son las 11:09:21.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi