Você pode fazer assim:

if DBGrid1.SelectedIndex = 'Indíce da coluna' then //Aqui você vai colocar o
indíce da coluna do dbgrid. Se for a primeira coluna vai ser 0, se for a
segunda vai ser 1 e assim por diante.
if TRIM(DBGrid1.Columns[Indice da coluna].Field.AsString) = '' then // testa
se está em
branco
BEGIN

SHOWMESSAGE(DBGrid1.Columns[Indice da coluna].Field.AsString);

MINHA_ROTINA; // dispara minha rotina

END;

Testa aí que acho que vai funcionar, um abraço.



Em 21/02/07, Magnun Oliveira <[EMAIL PROTECTED]> escreveu:
>
>   Eu preciso fazer uma ação somente se o conteudo de um campo for igual a
> ''.
> fiz assim:
>
> if DBGrid1.SelectedField.FieldName = 'MEU_CAMPO' then // testa se é o
> campo
> correto
> if TRIM(TEdit(DBGrid1.Controls[0]).Text) = '' then // testA se está em
> branco
> BEGIN
>
> SHOWMESSAGE(TEdit(DBGrid1.Controls[0]).Text);
>
> MINHA_ROTINA; // dispara minha rotina
>
> END;
>
> coloquei o showmessage ali, a titulo de verificaçao, pq nao estava dando
> certo, e percebi q o valor de TRIM(TEdit(DBGrid1.Controls[0]).Text) vai
> ser
> o valor do ultimo campo q teve seu CONTEUDO selecionado. (o q acontece
> quando vc aperta o enter dentro do grid).
>
> Qual a maneira correta de fazer o q eu to querendo?
> abs.
>
> __________________________________________________________
> MSN Messenger: converse com os seus amigos online.
> http://messenger.msn.com.br
>
> 
>



-- 
Willian Leal
Desenvolvedor de Softwares
MSN: [EMAIL PROTECTED]
Celular:(32) 8409 - 3077


[As partes desta mensagem que não continham texto foram removidas]

Responder a