GARANTIR DESCONTO

Fórum Tenho seis preços e que recuperar o clicado #269338

19/02/2005

0

Alguém sabe como saber a coluna que foi clicada no dbgrid .

Ex. Tenho seis preços e que recuperar o clicado


Obrigado


Demostenesjr

Demostenesjr

Responder

Posts

20/02/2005

Carlosrm

demostenesjr;

Para pegar o valor de uma célula, faça

dbgrid1fields[n].AsTipodeDado;

Aqui, n representa o índice da coluna visível do dbgrid (note que a primeira coluna tem o índice = 0).
AsTipodeDado define como o dado obtido será armazenado/exibido (AsFloat, AsDateTime, AsString...), desde que seja possível a conversão.

Por exemplo, se a terceira coluna do dbgrid1 estiver exibindo a coluna QTDE de uma tabela, com tipo de dado Integer, poderia fazer, entre outros:

- - -
var
var_inteiro : Integer;
var_string : string;
begin
- - -
var_inteiro := dbgrid1.fields[2].AsInteger;
var_string := dbgrid1.fields[2].AsString;
showmessage(´A Qtde é de: ´+dbgrid1.fields[2].AsString);
- - -
end;

Porém, note que como vc não quer clicar no dbgrid, vc só conseguirá acessar o registro (tupla) corrente da tabela (que é o que aparece em destaque no dbgrid).
Naturalmente, se vc acabou de fazer um filtro, uma pesquisa, select, navegou pela tabela,... o registro corrente estará refletindo essas ações.

Resumindo: dessa forma você não precisa clicar no dbgrid para exibir qualquer coluna visível do dbgrid. Mas fica restrito às colunas do registro atual.

(Para acessar alguma coluna não visível no dbgrid, use a mesma propriedade Fields (ou FieldByName), mas da tabela, e não mais do dbgrid.).

carlosrm


Responder

Gostei + 0

20/02/2005

Carlosrm

Corrigindo...

demostenesjr,

do parágrafo ´Porém´, para baixo, era uma resposta para um outro post. Por favor, considere apenas os parágrafos anteriores...

Ah!, claro, use o evento OnCellClick do dbgrid.
(Há outras maneiras também).

carlosrm


Responder

Gostei + 0

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

Aceitar