Fórum Ajudazinha com DBgrid... #160276
14/05/2003
0
procedure TForm2.DBGrid1CellClick(Column: TColumn);
begin
combobox1.Text:=´´;
Form2.Close;
end;
A dúvida é a seguinte: [b:fe8b4a7e85][color=red:fe8b4a7e85]Como faço para bloquear o evento clique no DBgrid, caso a procura mostre um DBgrid vazio, ou seja nenhum nome encontrado?[/color:fe8b4a7e85][/b:fe8b4a7e85] Para quem ainda não entendeu, caso a pessoa dê um clique num DBgrid vazio o Form2 será fechado e o resultado será mostrado no Form1, só que todos os dados estarão em branco, o que é ruim, uma
vez que nesta situação, não será possível Cadastrar, Alterar, etc...
[color=blue:fe8b4a7e85]Então, repetindo a minha dúvida:[/color:fe8b4a7e85]
[b:fe8b4a7e85][color=red:fe8b4a7e85]Como faço para bloquear o evento clique no DBgrid, caso
a procura mostre um DBgrid vazio?[/color:fe8b4a7e85][/b:fe8b4a7e85]Pode ser alguma coisa tipo ShowMessage(´Este cliente não esta cadastrado´)
Bom, se alguém puder me ajudar agradeço! :(
Ginosam
Curtir tópico
+ 0Posts
14/05/2003
Dbezerra
isso retorna verdadeiro se a query estiver vazia...
se estiver vc simplesmente desabilita a dbgrid, fazendo DBGRID.ENABLED := False;
se retornar falso, naum esqueca de reabilitar a grid...
Valeu
Gostei + 0
14/05/2003
Rogerio_fernando
tente so abrir o form se o dbgrid nao estiver vazio
assim
if dbgrid1 <> ´´ then begin
form.show
else
showmessage(nao foi possivel localiza);
end;
Gostei + 0
14/05/2003
Ginosam
[Error] Unit2.pas(40): Incompatible types: ´String´ and ´TDBGrid´
Gostei + 0
14/05/2003
Roberto_conetsys
Exemplo:
dbgrid.enabled := tabela.recordcount>0;
ou
dbgrid.visible := tabela.recordcount>0;
Gostei + 0
14/05/2003
Ginosam
procedure TForm2.DBGrid1CellClick(Column: TColumn);
begin
if form1.Table1.RecordCount = 0 then
begin
ShowMessage(´Este cliente não existe´);
Edit1.Text:=´´;
edit1.SetFocus;
DBgrid1.Visible:=false;
end
else
begin
edit1.SetFocus;
close;
end;
end;
Repare que tornei o DBgrid visible no evento onChange do
Edit1. veja:
procedure TForm2.Edit1Change(Sender: TObject);
begin
form1.Table1.Refresh;
DBgrid1.Visible:=true;
end;
Por enquanto obrigado pessoal! Surgiu uma nova dúvida, acho que agora é a última... mas vou perguntar num outro bloco. Até +
Gostei + 0
15/05/2003
Dbezerra
eh tao simples, naum precisa complicar.
apos abrir o seu dataset(query, table...), faca o seguinte:
if table.empty then
begin
dbgrid.enabled := False;
showmessage(´Cliente não encontrado´);
end
else
dbgrid.enabled := True;
dessa forma, caso a table esteja vazia, a grid ficarah desabilitada e o usuario naum vai poder clicar e, consequentemente, naum vai criar o formulario, certo?!
valeu
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)