Controle sobre Celulas do DBGrid?

Delphi

01/06/2004

Ola programadores, bom dia





Estou com uma duvida, na qual gostaria da ajuda de voces.

Em determinado Grid preciso manter o controle em tres celulas: A,B e C

sendo que quando estiver na celula A e for precionado Enter, o foco vá

para a celula B, e quando enter for precionado novamente o foco vá

para a Celula C.

O foco estando na celula C, apos precionado enter, o foco vá para a celula

A, da proxima linha.


Alguem poderia me passar uma dica sobre isto?

ja procurei no forum mas nao encontrei..nada...

Grato.


Macario

Macario

Curtidas 0

Respostas

Lucas Silva

Lucas Silva

01/06/2004

O ideal pra você seria um StringGrid.

www.clubedelphi.com.br/stringgrid.html

Qualquer dúvida pode me dá o toque.

T+,
Lucas!


GOSTEI 0
Rômulo Barros

Rômulo Barros

01/06/2004

Cara, faço sempre isso com StringGrid. Mas nunca fiz com DbGrid. Se interessar, manda um mail pra mim q t mando o código(c\ stringgrid) :oops:


GOSTEI 0
Xisto

Xisto

01/06/2004

[b:28eb9d2e20]Undeclared Identifier[/b:28eb9d2e20],
manda este codigo pra mim (stringgrid).
Estou precisando liberar alteracao dos dados no StringGrid ou nao.
Pode mandar pelo MSN ou ICQ.


GOSTEI 0
Thematrix:reloaded

Thematrix:reloaded

01/06/2004

Olá, eu tenho um código que uso em um RxDBGrid, mas acho que funciona em um DBGrid, tenta aí:


procedure TFrmMovLancNota.RxDBGrid1KeyPress(Sender: TObject;
var Key: Char);
Var WCol:integer;
begin
If Key = #13 then
begin
With RxDbGrid1 do
begin
If Col < Columns.Count then
begin
Col := Col+1 //Próxima Coluna
end
else
begin
If MDNotas.RecNo <> WRec then
MDNotas.Next //Proxima Linha
else
MDNotas.First; //Chegou no final do arquivo, volta
Col := 2;
end;

end;
end;
end;


GOSTEI 0
Xisto

Xisto

01/06/2004

Vamos deixar a coisa mais divertida. :wink:
Digamos que em uma das celulas espera-se um tipo especifico de informacao (data,numero,etc.) ai nosso belissimo operador faz o que se espera dele, ou seja, digita algo que nao tem nada a ver com o campo.
Qual a melhor forma, de gerar uma mensagem de erro (facil) e retornar à celula o valor anterior a digitacao ?


GOSTEI 0
Fabio.hc

Fabio.hc

01/06/2004

Ola programadores, bom dia Estou com uma duvida, na qual gostaria da ajuda de voces. Em determinado Grid preciso manter o controle em tres celulas: A,B e C sendo que quando estiver na celula A e for precionado Enter, o foco vá para a celula B, e quando enter for precionado novamente o foco vá para a Celula C. O foco estando na celula C, apos precionado enter, o foco vá para a celula A, da proxima linha. Alguem poderia me passar uma dica sobre isto? ja procurei no forum mas nao encontrei..nada... Grato.


Tente assim:

procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
   if Key = VK_RETURN then
      begin
      case DBGrid1.SelectedIndex of
      0: DBGrid1.SelectedIndex:=1;
      1: DBGrid1.SelectedIndex:=2;
      2: begin
         Table1.Next;
         if Table1.Eof then
            Table1.Append;
         DBGrid1. SelectedIndex:=0;
         end;
      end;
      end;
end;



GOSTEI 0
POSTAR