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 03-02-2016
xangiesaurx xangiesaurx is offline
Miembro
NULL
 
Registrado: feb 2016
Posts: 57
Poder: 9
xangiesaurx Va por buen camino
DBGrid y Botones

Buenos días a todos, vengo de nuevo a molestarlos con una duda, realmente soy nueva en Delphi y estoy usando un TDBGrid en Delphi XE5, lo que pasa es que necesito ponerle botones a cierta columna de este y la verdad no se muy bien como, hasta horita lo que hice fue crear el TDBGrid, añadirle las 7 columnas que necesito y asignarle que apartir de la 4 columna su propiedad "ButtonStyle" sea cbsEllipsis.

No se si esto este bien o hay alguna otra manera de realizarlo.
Muchas gracias por su ayuda
Responder Con Cita
  #2  
Antiguo 03-02-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Mira si te sirve algunos de los enlaces del final de página, abajo del todo.
Responder Con Cita
  #3  
Antiguo 04-02-2016
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.269
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por xangiesaurx Ver Mensaje
No se si esto este bien o hay alguna otra manera de realizarlo.
Si utilizas los componentes estandard, esta es la forma correcta.
Luego puedes utilizar el botón OnEditButtonClick para capturar el evento cuando el usuario pulsa el botón.

Hay otras opciones como las que te comenta Casimiro u otros componentes, pero con esta debería valer.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 04-02-2016
xangiesaurx xangiesaurx is offline
Miembro
NULL
 
Registrado: feb 2016
Posts: 57
Poder: 9
xangiesaurx Va por buen camino
Ok gracias, lo revisaré, ya que logré hacer que funcionen los botones, pero me doy cuenta que los cbsEllipsis no son lo que necesito, ya que necesito replicar esto: botomes.JPG

Revisaré los otros enlaces que me comentan y postearé cualquier duda que salga o si le doy solución a esto, gracias
Responder Con Cita
  #5  
Antiguo 04-02-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Puedes poner el icono que quieras.
Responder Con Cita
  #6  
Antiguo 04-02-2016
xangiesaurx xangiesaurx is offline
Miembro
NULL
 
Registrado: feb 2016
Posts: 57
Poder: 9
xangiesaurx Va por buen camino
No sabía que podia cambiar propiedades del cbsEllipsis, de ser así se puede dejar siempre visible?
Responder Con Cita
  #7  
Antiguo 05-02-2016
bitbow bitbow is offline
Miembro
 
Registrado: jul 2006
Posts: 366
Poder: 18
bitbow Va camino a la fama
Te podria servir el ultimgrid del proyecto JEDI, aunque esto te haria depender de componentes externos a delphi, el ultimgrid tiene opciones para añadir componentes a columnas y personalizarlos.

http://jvcl.delphi-jedi.org/

Saludos.
Responder Con Cita
  #8  
Antiguo 09-02-2016
xangiesaurx xangiesaurx is offline
Miembro
NULL
 
Registrado: feb 2016
Posts: 57
Poder: 9
xangiesaurx Va por buen camino
bitbow, gracias por tu sugerencia, lamentablemente no puedo depender de componentes externos a delphi.
Ahora la duda que me surge es el crear los botones que apareceran en el Grid de manera dinámica, intente este código prueba, pero no me muestra el boton en el frame, alguien sabe el motivo?
Una vez solucionado esto, podré incorporarlo a mi DBGrid

Código:
unit Boton;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.StdCtrls,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs;

type
  TForm1 = class(TForm)
 procedure FormCreate(Sender: TObject);
 procedure OnButton1Click(Sender: TObject);
 procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);

  private
    { Private declarations }

  public
    { Public declarations }

  end;

var
  Form1: TForm1;
  Button1: TButton;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  Button1.Create(self);
  Button1.Parent:= Form1;
  Button1.Left:=5;
  Button1.Top:=200;
  Button1.OnClick:= OnButton1Click;
  Button1.Caption:= 'Hola';
  Button1.TabOrder:=1;
  Button1.Visible:= True;
end;

procedure TForm1.OnButton1Click(Sender: TObject);
begin
  ShowMessage('Presionaste');
end;

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  if Assigned (Button1) then Button1.Free

end;

end.
Responder Con Cita
  #9  
Antiguo 09-02-2016
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 685
Poder: 19
olbeup Va camino a la fama
Hola xangiesaurx,

No estas creando el botón correctamente, sustituye el:
Código Delphi [-]
Button1.Create(Self)
por
Código Delphi [-]
Button1 := TButton.Create(Self);
Un saludo.
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber.
Responder Con Cita
  #10  
Antiguo 09-02-2016
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
El button1.Parent, tendrás que asignarle "el frame" que quieras, el Grid, o donde quieres que salga.

Dado que lo has creado con el parámetro "Self" en TButton.Create(Self), no hace falta que lo liberes en el destroy, eso lo hará su dueño, el Self, que es el Form donde se ha creado.

Lo que intuyo es que al hacer un scroll del Grid, los botones se van a quedar fijos y no creo sea lo que quieras.

En ese Delphi no puedo ayudarte, ya que no lo tengo. Otra cosa es pintar el botón en el recuadro de una columna, así "hace parecer que es un botón", pero solo es pintura. Ojalá esto te sirva: www.clubdelphi.com/foros/showthread.php?t=74688

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #11  
Antiguo 13-02-2016
xangiesaurx xangiesaurx is offline
Miembro
NULL
 
Registrado: feb 2016
Posts: 57
Poder: 9
xangiesaurx Va por buen camino
olbeup, muchas gracias, en cuanto hice ese cambio apareció mi botón, muchísimas gracias

Ahora estoy en la parte mas difícil (para mí), no se como indicar una celda especifica del DBGrid, es decir, indicar que en la celda o columna tal aparezca ese botón que se crea dinamicamente.
Intentare seguir lo que comentó Lepe para ver si me sale, ero igual me gustaría saber si alguien sabe como hacer para que ese botón quede dentro de una celda especifica.

Gracias
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
Pasar registros desde un dbgrid a otro dbgrid con botones.. Vales08 Varios 17 21-11-2011 19:27:50
Ayuda con dbgrid tabla botones GooD Conexión con bases de datos 3 29-10-2010 22:31:18
DBGRID y un menu de BOTONES neosyoshiran Conexión con bases de datos 7 09-01-2007 21:55:36
DBGrid con Botones jsanchez OOP 2 14-07-2005 20:50:46
Mostrar botones en DBGrid mazinger Conexión con bases de datos 2 03-01-2005 15:44:27


La franja horaria es GMT +2. Ahora son las 03:19:36.


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