GARANTIR DESCONTO

Fórum Db, como deixar o foco em determinada coluna #300155

20/10/2005

0

estou dando um while not em uma tabela e verificando se o usuário digitou todos os campos,


Gostaria de saber como dar um setfocus em determinada coluna, ai eu dou uma message e em seguida foco e ele digita, tudo pratico

thanks


Marcos Fernando

Marcos Fernando

Responder

Posts

21/10/2005

Marlon Spiess

no momento imediatamente antes de salvar chamar a função



function TFom.ckeckFields (dCad : TDataSet) : boolean;
var
X : integer;
begin
Result := false;
for X:= 0 to self.ComponentCount - 1 do
if (Self.Components[X].ClassType = TDBEdit) then
begin
if (TDBEdit(Self.Components[X]).DataSource <> nil)
and (TDBEdit(Self.Components[X]).DataSource.DataSet = dCad)
and (dCad.FieldByName(TDBEdit(Self.Components[X]).DataField).Required = true) then // para campo obrigatório, pode ser trocado por outra validação
if (dCad.FieldByName(TDBEdit(Self.Components[X]).DataField).IsNull then
begin
MessageDlg(TDBEdit(Self.Components[X]).Hint + ´ deve possuir um valor. ´,mtError,[mbOk],0);
TDBEdit(Self.Components[X]).SetFocus;
exit;
end

// demais validações........


Responder

Gostei + 0

24/10/2005

Marcos Fernando

na verdade só procurava isso:
DbGrid.SelectedIndex:=TdagColumn(dbgrid.ColumnByFieldName(´campo´)).Index;

Thanks


Responder

Gostei + 0

24/10/2005

Marlon Spiess

Desculpa por incomodar, mas gostaria de intender a solução.

Vc não queria descobrir e dar um focus num dbedit qdo o campo não tivesse satisfeito alguma clausula ??

O q um grid tem haver com isso.

Ficaria contente em intender.

Muito Obrigado


Responder

Gostei + 0

24/10/2005

Marcos Fernando

Não na verdade eu estou editando dentro de um grid e quando eu for fazer qualquer procedimento deve verificar se a coluna tal tem informação e ai pedir ao usuário que preencha


Responder

Gostei + 0

26/02/2006

Jrfigueiredo

Olá Marcos Fernando,

Gostaria de saber como você fez quando tem um campo de preenchimento obrigatório no Dbgrid e o cliente não preenche.

Tem como passar para mim ?
Grato


Responder

Gostei + 0

26/02/2006

Marcos Fernando

Boa noite amigo,


Vc pode fazer essa verificação te enumeras formas, pode usar no before post da tabela

if tabelacampo.isnull=true then begin
showmessage(´Campo obrigatório´):
DbGrid.SelectedIndex:=TdagColumn(dbgrid.ColumnByFieldName(´campo´)).Index; //ai ele vai focar no grid o campo
exit;
end;


thanks


Responder

Gostei + 0

26/02/2006

Marco Salles

Vc pode fazer essa verificação te enumeras formas, pode usar no before post da tabela


como o amigo Marcos Fernando disse , pode-se fazer de n formas .. MAs acho que tecnicamente a maneira mais correta é usar o evento Onvalidade do Campo e gerar uma exceção caso o valor seje nulo


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar