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 20-09-2011
Neeruu Neeruu is offline
Miembro
 
Registrado: oct 2007
Posts: 485
Poder: 17
Neeruu Va por buen camino
Cool Color de Componentes Según estado del DataSet

Hola.... Buenos días....

Gente del ClubDelphi, tengo una consulta que no se como resolverla, así que recurro a ustedes para ver si pueden ayudarme....

La consulta es la siguiente:

Tengo componentes enlazados a un DataSource y el dataset de este datasource enlazado a un query.

DataSource --> DataSet --> Query.

Ahora cuando cambio el estado del query (esta en insert, edit, o browser), quiero poder indentificar los controles que tiene asociado ese datasource, o dataset para poder cambiarle el color.


En conclusión, quiero q cada ves que cambio el estado del query se cambie el color de los controles asociados a ese query.

Necesitaría algo bien encapsulado... porque no encuentro otro forma que no sea ir componente por componente realizando esta personalización.

Desde ya muchas gracias...

Saluda Atte Neeruu!!!
__________________
Saluda Atte Neeruu!!! :)
Responder Con Cita
  #2  
Antiguo 21-09-2011
ggram2 ggram2 is offline
Miembro
 
Registrado: sep 2005
Posts: 47
Poder: 0
ggram2 Va por buen camino
Thumbs up

Neeruu

Puedes hacerlo con la propiedad OnStateChange del DataSource
ahi puedes poner un codigo que haga algo segun el estado de una tabla o query por ejemplo:

procedure TForm1.DataSource1StateChange(Sender: TObject);
begin
inherited;
if Table1.State in dsEditModes then
BDGrid1.color := clGreen
else
BDGrid1.color := clRed
End

Ensayalo
Responder Con Cita
  #3  
Antiguo 21-09-2011
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 23
José Luis Garcí Va camino a la fama
hola Neeruu, en el FTP del Club, puse un componente el NewPanelDB, el cual es un panel conectado a un datasource, con las propiedades de enble y visible vinculados a este, a elegir, ademas permite que el panel cambie de color, cuando esta en edit, append o insert.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #4  
Antiguo 22-09-2011
Neeruu Neeruu is offline
Miembro
 
Registrado: oct 2007
Posts: 485
Poder: 17
Neeruu Va por buen camino
Cool Color de Componentes Según estado del DataSet

Hola a todos, y muchas gracias por sus respuestas.

ggram2: El tema de las grillas no lo tengo pensando todavía, porque necesitaría que se cambie de color solo la el registro que se esta editando... y no toda la grilla.
Gracias por responder.


José Luis Garcí:
Voy a probar el panel que me sugieres, después te comento como me va con la prueba.


Yo había pensando algo así:
Código Delphi [-]
procedure TForm.DSMainStateChange(Sender: TObject);
i:Integer;
myColor:TColor;
begin
 
  Case DSMain.DataSet.State of
    dsInactive: myColor := clGray;
    dsBrowse  : myColor := clWindow;
    dsEdit    : myColor := $00B7DBFF;
    dsInsert  : myColor := $00C5DEC9;
  end;

  for I := 0 to Form1.ComponentCount - 1 do
    begin
      if Form1.Components[i] is TcxDBTextEdit then
          TcxDBTextEdit(Form1.Components[i]).Style.Color := myColor
      else
      if Form1.Components[i] is TcxDBLookupComboBox then
        TcxDBLookupComboBox(Form1.Components[i]).Style.Color := myColor
      else
      if Form1.Components[i] is TcxDBMemo then
        TcxDBMemo(Form1.Components[i]).Style.Color := myColor;
    end;
end;

Lo probe y hace lo que necesito...

De nuevo gracias a las respuestas...

Saluda Atte Neeruu!!!
__________________
Saluda Atte Neeruu!!! :)
Responder Con Cita
  #5  
Antiguo 22-09-2011
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 23
José Luis Garcí Va camino a la fama
Me alegro que te funcionase, en lo que querías, he de decir, que el objetivo, no es sólo visual, ademas de ahorrar, código, nos permite controlar, el estado del dataset, claro esta, en modo Insert/Edit, en otros modos, pero ademas impide si se quiere a acceder a los datos cunado no esta en este modo, sin escribir ni una sola linea de código.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
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
alterar el estado de un DataSet mestro detalle _CALI Varios 9 06-05-2011 03:13:03
Color distintivo en DBgrid segun fechas amadis OOP 2 03-10-2007 20:00:21
Estado Dataset vtdeleon Conexión con bases de datos 2 18-04-2007 02:14:45
Color DBGrid según grupo de filas Cabanyaler OOP 11 28-11-2005 08:22:32
Cambiar de color una fila de un Dbgrid segun una condicion... hook Varios 5 12-07-2005 23:40:36


La franja horaria es GMT +2. Ahora son las 05:47:56.


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