Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-06-2010
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 17
jafera Va por buen camino
Limite de filas en un DBGrid

Buenos dias a todos de nuevo.

Pues nada que tengo una duda en como realizar lo siguiente:

Tengo un form maestro detalle en el que la parte maestro son varios edit, combos, checks, etc. y el detalle es un JVDBGrid.

Lo que necesito saber es si puedo limitar el numero de filas del grid dependiendo del valor de uno de los edits del maestro, es decir si el valor del campo personas es 4 que solo me deje añadir 4 registros del detalle relacionado, o sea cuatro rows y que al intentar poner la quinta fila me diga "Mozo que te has pasado, solo pueden haber cuatro miembros". Evidentemente el mensaje es de broma, pero la utilidad debe ser esa.

Supongo que debo contar las filas a medida que las voy añadiendo y compararlas con el valor del edit, pero ¿en que evento lo hago?

Como siempre sigo con mi D6 y Firebird 1.5

Gracias por adelantado
Responder Con Cita
  #2  
Antiguo 07-06-2010
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 23
guillotmarc Va por buen camino
Hola.

El mejor evento parece el BeforeInsert de tu Dataset. Compruebas el nº de registros que ya tienes, y si supera el máximo entonces cancelas la inserción mediante un Abort.

Seria algo así :

Código:
procedure MiDataset.AfterInsert(Dataset: TDataset);
begin
  if (MiDataset.RecordCount >= StrToInt(txtMaximo.Text)) then begin
    ShowMessage('Mozo que te has pasado, solo pueden haber ' + txtMaximo.Text + ' miembros');
    Abort;
  end;
end;
Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #3  
Antiguo 07-06-2010
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 17
jafera Va por buen camino
Esto si es velocidad y no el Alonso.

Gracias, voy a probarlo.

Ah y otra duda en el mismo grid, si quiero cambiar el color del fondo de la fila según un valor S o N del mismo registro como se hace?

Repito gracias

Josep
Responder Con Cita
  #4  
Antiguo 07-06-2010
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 17
jafera Va por buen camino
Gracias Marc, ha ido de perlas era justamente esto.

Yo me peleaba con los eventos del grid y tenia que ser en los de la tabla.

De nuevo gracias.

Josep
Responder Con Cita
  #5  
Antiguo 07-06-2010
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 23
guillotmarc Va por buen camino
Hola Josep, me alegra de que te haya sido útil.

Cita:
Empezado por jafera Ver Mensaje
Esto si es velocidad y no el Alonso.

Gracias, voy a probarlo.

Ah y otra duda en el mismo grid, si quiero cambiar el color del fondo de la fila según un valor S o N del mismo registro como se hace?

Repito gracias

Josep
Respecto a cambiar el color de la Grid, lo siento pero no conozco estas Grids ni sus eventos.

Sería mejor que pusieras un nuevo mensaje (probablemente en el Foro general de Delphi), para ver si alguien te puede ayudar con ello.

Salutacions.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #6  
Antiguo 07-06-2010
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 17
jafera Va por buen camino
Me respondo a mi mismo, el código ussado ha sido el siguiente, y funciona

Código Delphi [-]
 
procedure TF_Rebut.JvDBGrid1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
        If F_ModulDades.RebutAuxCAMPIONAT.Value = 'S' then
        begin
                JVDBGrid1.Canvas.Brush.Color := clRed;
                JVDBGrid1.DefaultDrawColumnCell(rect,DataCol,Column,State);
        end;
end;

Saludos

Josep
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
colorear filas de un dbgrid soyhugo Varios 4 06-08-2010 00:20:37
Hay un limite para almacenar filas en stringrid uper Varios 7 10-01-2008 17:36:39
seleccionar filas de un dbgrid. nikotina OOP 1 10-11-2006 12:08:05
Las últimas filas de un DBGrid CAF SQL 0 05-01-2006 12:05:01
cantidad de filas de un dbgrid miguelb Varios 7 23-06-2003 20:02:43


La franja horaria es GMT +2. Ahora son las 15:10:08.


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