GARANTIR DESCONTO

Fórum DBGRID #176285

20/08/2003

0

Oi,

Qdo. o usuário clicar no GRID, quero mostrar um número na coluna 1... como faço? Dá p/ colocar o grid em modo de Edição??

Obrigada!!


Fatima

Fatima

Responder

Posts

23/08/2003

Wbb

Para saber qual o número da coluna do DBGrid que a célula está selecionada, basta declarar uma nova classe na cláusula Type conforme abaixo:

type
TMostraProp = class (TDBGrid);

Em seguida, no evento DBGrid1DblClick do DBGrid (ou outro evento qualquer), utilizar as propriedades ´Col´ e ´Row´ da nova classe:

procedure TfrmFiltros.DBGrid1DblClick(Sender: TObject);
Var Mensagem: String;
begin

//Mostra a coluna e linha da célula clicada.
ShowMessage(´Coluna: ´ + IntToStr(TMostraProp(DbGrid1).Col) + ´ e Linha: ´ + IntToStr(TMostraProp(DbGrid1).Row));

end;


Já para colocar o DBGrid em modo de edição, vá à propriedade Options do DBGrid, no Object Inspector, encontre o item dgEditing e coloque-o em True.


É isso!

8)
wbb


Responder

Gostei + 0

24/08/2003

Carlosrm

Fátima,

acho que também não entendi. Vc quer ´mostrar um número na coluna 1´, ou seja, se clicar na última coluna da terceira célula vc quer que apareça um determinado número na coluna 1 (p.ex, 937) ?
E se vc clicar na terceira coluna, na sexta célula, vc também quer que esse mesmo numero apareça na coluna 1 (o mesmo 937) ?

Se vc quer apenas saber em qual coluna do dbgrid clicou, veja essa aternativa:

procedure TF_Form1.DBGrid1CellClick(Column: TColumn);
begin
label1.caption := ´O numero da coluna é ´ +inttostr(dbGrid1.SelectedIndex);
end;


Obs: Os indices das colunas ciomeçam em 0 (zero). Se quiser que a primeira coluna tenha o numero 1 (um) e assim por diante, troque por essa linha:
label1.caption := ´O numero da coluna é ´+inttostr(dbGrid1.SelectedIndex + 1);

Se for esse o seu desejo, vc pode tbm colocar o número no título da coluna clicada. Desculpe se eu não entendi. Nesse caso, dê mais detalhes.

Se não ajudou, espero não ter atrapalhado. carlosrm.


Responder

Gostei + 0

25/08/2003

Wbb

O que o carlosrm mostrou realmente é mais fácil do que eu fiz. É isso mesmo: dbGrid1.SelectedIndex.

É que acabei pegando um exemplo de um programa que fiz, em que preciso saber tanto a coluna quanto a linha referente à célula que estou clicando.

Assim, caso você precise de algumas propriedades adicionais no DBGrid, faça como indiquei, senão faça como o carlosrm indicou.


wbb


Responder

Gostei + 0

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

Aceitar