FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
boton de comando en la celda de un DBGrid
Es posible añadir un boton que aparezca siempre(parecido al botón de los tres puntos (Elypsis) , pero que se pueda poner texto), en una celda de un DBgrid, que al pulsarlo actualice la celda con un valor de tipo string o similar?
Pero que aparezca en todas las celdas de una columna y este siempre visible. Última edición por alquimista fecha: 05-07-2008 a las 10:27:16. |
#2
|
|||
|
|||
hola. Debes usar el evento OnDrawColumnCell o el OnCellDraw
PD: este te lo pone en solo una celda. Necesitaras tantos bitbtns como celdas donde lo quieras, bien creados en tiempo de diseño, bien en tiempo de ejecucion saludos Última edición por coso fecha: 05-07-2008 a las 10:51:50. |
#3
|
|||
|
|||
Gracias...
Para poner texto al boton como se haría? No existe algún componente free que haga eso? Al pulsar el botón ¿se utiliza el mismo evento que el botón de 3 puntos? Gracias |
#4
|
|||
|
|||
Bueno, es un BitBtn normal y corriente... le asignas el evento OnClick a lo que tu quieras y cambias la caption tambien conforme lo que quieras... saludos
|
#5
|
|||
|
|||
Lo probare.Gracias por la pronta respuesta
|
#6
|
|||
|
|||
No me funciona. No se que hago mal pero me reduce el DBgrid o algo parecido.
Por si no me he explicado, lo que pretendo es lo siguiente: ______________________________________ I___ID___I_____Columna_Tiempo_______I___ I____1___I___10:23___ I__Botón_Stop__ I___ I____2___I___12:21___ I__Botón_Stop__ I___ Que se muestre un botón en cada columna que haya (Botón Stop) y que al pulsar grabe en el campo , por ejemplo tiempo un valor de un reloj. Gracias de antemano. Última edición por alquimista fecha: 05-07-2008 a las 17:23:13. |
#7
|
|||
|
|||
????? te reduce el dbgrid???
|
#8
|
|||
|
|||
Bueno, parece que hace eso me deja un cuadradito o algo parecido al pinchar en la celda de tiempo, da la sensación que reduce el dbgrid..
He hecho un copy,paste cambiando el nombre de la columna por 'tiempo' en el primer evento, el otro me dice que Tfield no es valido. |
#9
|
|||
|
|||
Creo que deberias entender el codigo. Lo que te he puesto es un ejemplo. Si miras la ayuda de delphi, el evento OnDrawColumnCell, te explicara para que sirve cada argumento, y podras asi adaptar el codigo a tus necesidades.
|
#10
|
|||
|
|||
La verdad es que no entendía mucho el código.
Ok. Lo miraré con mas calma y veré si me vale. Gracias... tengo un problema de poco tiempo ahora. por eso me interesaba algo rápido. |
#11
|
|||
|
|||
No consigo hacerlo funcionar dentro de la columna.
No se si creo bien el componente. BitBtn2:=TBitBtn.Create(Self); No se si es correcto. También lo pongo enabled y visible a true He mirado la ayuda pero no encuentro mucha cosas. Rect me imagino que es el rectangulo de la columna?? Gracias... |
#12
|
||||
|
||||
Crea el botón en tiempo de diseño, colócalo donde quieras dentro del formulario. Luego en el evento onDrawColumnCell lo cambias de tamaño y posición a tu gusto. En el evento OnClick de ese mismo botón colocas el código que quieras.
Saludos, Tony |
#13
|
|||
|
|||
Ya empiezo a entender algo.
El ejemplo es para colocar un botón encima de la columna del DBGrid. Yo pensaba que el botón pertenecía a la columna. Lo que queria es un boton en cada celda. Si hay n celdas con datos metidos un botón (visible) en cada una de las n celdas en las que pueda pulsar y al pulsar rellenar esa celda con un dato sacado de otro sitio. Por ejemplo una cadena de texto. Aparte intentaba crear en runtime (seguramente bastante mal) un bitbtn y no me funcionaba. El problema es que tengo que pinchar en la columna y aparece el botón. pero como se la referencia de columna relativa y como interacciono para cambiar el dato de esa columna? He estado buscando por ahí y no encuentro casi nada de botones en columna de DBGrid. A ver si podeis ayudarme un poco mas, por favor El problema es que no soy nada experto en Delphi. Y por este foro parece que hay muchos super expertos. Muchas gracias. Última edición por alquimista fecha: 07-07-2008 a las 11:55:22. |
#14
|
||||
|
||||
Yo tampoco soy muy experto ... pero te digo que en vez de utilizar un boton por celda yo utilizaría uno fuera del DBGrid. Y los cambios que quieras hacer sobre el registro seleccionado lo hagas en el evento OnClick de ese boton.
Para saber el registro que esta seleccionado simplemente tienes que ver donde esta el cursor del dataset que estes mostrando en el dbgrid, de manera que si por ejemplo quieres sacar un dato de un campo de ese dataset o modificarlo sería ..... Código:
if table1.state in [dsInsert,dsEdit] then begin Table1.fieldbyname('Apellidos').asstring:='HERNANDEZ FERNANDEZ'; Table1.post; end; |
#15
|
|||
|
|||
no depende de mi.
A efectos de insertar en la celda no requiere que primero se seleccione la celda y luego se pulse el botón. Con un botón por celda es mucho más rápida la inserción de ese campo. Gracias por la ayuda. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
valor de una celda de un dbgrid | alopete | Varios | 4 | 17-10-2007 17:32:46 |
Insertar ub boton o panel en cada celda de un Stringgrid | ingel | Varios | 1 | 20-07-2007 23:35:18 |
Selecionar Celda DBGRID | hcalero | Varios | 2 | 12-04-2007 17:27:54 |
Como Pintar Solo la Celda y No Toda la Columna de la Celda de un dbGrid?? | AGAG4 | Varios | 11 | 15-11-2004 20:53:28 |
Seleccionar una celda de un DBGRID | Sandochan | Conexión con bases de datos | 2 | 28-05-2003 16:09:37 |
|