Validar inserção no DbGrid

Delphi

31/03/2006

Estou trabalhando com componentes dbexpress, e coloquei um dbgrid que receberá determinados valores, porém não quero que estes valores ultrapassem a 100.

Como faço para que quando o operador saia da coluna código, eu possa testar o valor digitado e se for maior que o parametrizado, o sistema não permita a continuação a inclusão.

Este dbgrid funcionaria mais ou menos como um master/detail.

Atenciosamente,

Rodolfo


Rodolfo.pirolo

Rodolfo.pirolo

Curtidas 0

Respostas

Marco Salles

Marco Salles

31/03/2006

tem vária maneiras para fazer esta validação:

1) evento OnValidade do Fild .. No seu caso é o Campo Código

if sender.AsInteger > 100 Then
  raise exception.Create(´Codigo não pode ser Maior que 100´);


2)usando [b:bbffa1974f]Constraints[/b:bbffa1974f] no DataSets

no seu caso voce deve estar usando o ClientDataSet

Va no Objeto inspector do Client Data Set (Ou o DataSet Que voce esta usando) e procure a propriedade Constraints. 
Click nela e abrira o Editing Client Data Set
Clik no botão add e voce tera uma coleção
Escolha na propreiedade CustomContraint e digite
CODIGO <= 100
Na propriedade ERRORMesagasse Escolha uma mensagem
Pronto , esta Ok


3)Usando Contraintsd nos Fileds
va no Objecto inspector do Field que no seu caso é O Campo Código e procure a propriedade Contraints e nela voce digita
Value <= 100.
Note que aqui voce digita "VALUE" , porque voce esta no Campo
Na propriedade ContraintErrorMessage desse tfield escolha a mensagem apropriada


O importante das containts é que voce faz a validação no Cliente , antes destas validaçoes serem enviadas ao Banco . . com isso voce agrega performace a sua aplicação , pois quando o servidor sql receber esses dados ele ja sabera que essas informaçoes são válidas , porque caso contrário ele ja seria barrado na aplicação..


Ou nos DataFiled


GOSTEI 0
POSTAR