Controle sobre Celulas do DBGrid?
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.
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
Curtidas 0
Respostas
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!
www.clubedelphi.com.br/stringgrid.html
Qualquer dúvida pode me dá o toque.
T+,
Lucas!
GOSTEI 0
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
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.
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
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;
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
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 ?
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
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