Delphi - Tambien sobre Grids...

 
Vista:

Tambien sobre Grids...

Publicado por Charly Lopez (1 intervención) el 25/05/2002 04:02:15
Hola tengo un problema con los dbgrids prove la solucion a una pregunta anterior a esta pero no me funciono..Lo que ocupo es evitar que una columna de un dbgrid quede vacia...Como lo puedo hacer,,,

Y tambien quisiera saber si en un dbgrid es posible solo permitir al usuario modificar solo una columna dee las que pudiera tener el dbgrid

Gracias por su apoyo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Tambien sobre Grids...

Publicado por Fer (269 intervenciones) el 26/05/2002 20:15:21
Para evitar que un campo pueda dejarse en blanco, añade los TFields al DataSet cuyo contenido muestras en el grid. A continuación pon la propiedad "Required" a True para aquellos campos que te interese.

Para lo segundo tienes un truco en la página de Ian Marteens, si no me equivoco es www.marteens.com

procedure TForm1.DBGrid1ColEnter(Sender: TObject);
begin
if DBGrid1.SelectedField = ElCampoSoloLectura then
DBGrid1.Options := DBGrid1.Options - [dgEditing]
else
DBGrid1.Options := DBGrid1.Options + [dgEditing];
end;

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Gracias Fer Pero...

Publicado por Charly Lopez (4 intervenciones) el 27/05/2002 04:36:05
Gracias Fer te agradesco todo tu apoyo, solo me queda una cosa por preguntarte con lo que me dices de poner el required., Lo que pasa es que tampoco quiero que me pongan un 0 tengo que validar esto que no sea ni nulo y tampoco que sea un cero...

Se de Un evento OnValidate pero no lo se aplicar y menos con un Grid ni se donde se pone ni nada...Tu sabes algo??

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Gracias Fer Pero...

Publicado por Fer (269 intervenciones) el 27/05/2002 08:31:51
Bueno, vamos a ver, tienes un error de concepto que estoy viendo que es muy común.

Si los datos tienen su "origen" en un DataSet (TTable, TQuery o lo que sea), el lugar más apropiado para poner las validaciones es lo más cercano posible a ese origen.

De esa manera, una alternativa (concretamente la que yo utilizo) es realizar las validaciones en el evento BeforePost del DataSet. Ahí puedes controlar las condiciones que tú quieras.

Dependiendo de la B.D. que utilices (aquí tenemos ORACLE), sería más interesante, definir las restricciones en la B.D. (también lo hacemos), de esa manera la aplicación sólo tiene que capturar la excepción que se produce al introducir un valor no válido.

Jamás hagas las validaciones en el control en el que visualizas los datos. A lo mejor hay algún caso en el que sea justificable hacerlo, pero en cinco años no me lo he encontrado.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar