![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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 ![]() |
#2
|
||||
|
||||
Mira si te sirve algunos de los enlaces del final de página, abajo del todo.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#3
|
||||
|
||||
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. |
#4
|
|||
|
|||
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 ![]() |
#5
|
||||
|
||||
Puedes poner el icono que quieras.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#6
|
|||
|
|||
No sabía que podia cambiar propiedades del cbsEllipsis, de ser así se puede dejar siempre visible?
|
#7
|
|||
|
|||
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. |
#8
|
|||
|
|||
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. |
#9
|
||||
|
||||
Hola xangiesaurx,
No estas creando el botón correctamente, sustituye el: por Un saludo.
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber. |
#10
|
||||
|
||||
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. |
#11
|
|||
|
|||
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 |
![]() |
|
|
![]() |
||||
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 |
![]() |
|