Pressionar ENTER dentro da linha do cxgrid
boa noite.
preciso colocar o codigo abaixo no evento que ainda nao sei do cxgrid1 do frm_consulta quando eu der um ENTER sobre a linha selecionada, mas teria que ser eu acho dentro dos eventos do Cxgrid1DbTableView1.
OBS: o código abaixo eu consegui usar quando o usuario clicar duas vezes sobre a linha selecionada, eu preciso que de um enter ao inves de dois cliques.
procedure Tfrm_consulta.cxGrid1DBTableView1DblClick(Sender: TObject);
begin
frm_principal.Show;
frm_principal.Edit1.text := DBEdit1.text;
frm_consulta.close;
preciso de um help de vcs , valeu.
preciso colocar o codigo abaixo no evento que ainda nao sei do cxgrid1 do frm_consulta quando eu der um ENTER sobre a linha selecionada, mas teria que ser eu acho dentro dos eventos do Cxgrid1DbTableView1.
OBS: o código abaixo eu consegui usar quando o usuario clicar duas vezes sobre a linha selecionada, eu preciso que de um enter ao inves de dois cliques.
procedure Tfrm_consulta.cxGrid1DBTableView1DblClick(Sender: TObject);
begin
frm_principal.Show;
frm_principal.Edit1.text := DBEdit1.text;
frm_consulta.close;
preciso de um help de vcs , valeu.
Rafazan
Curtidas 0
Respostas
Junior Miranda
03/08/2009
No evento OnKeyDown do Cxgrid1DbTableView1.
[]´s
if (Key = Vk_Return) then begin frm_principal.Show; frm_principal.Edit1.text := DBEdit1.text; frm_consulta.close; end;
[]´s
GOSTEI 0
Rafazan
03/08/2009
Boa noite amigo,coloquei seu post no evento OnKeyDown do Cxgrid1DbTableView1 e mesmo assim continua nao dando certo, ou seja, eu preciso que ao selecionar a linha desejada dentro do cxgrid1 ele abra o a tela principal setando esses produto para eu editar, é assim , como se eu tivesse pesquisando o produto A na tela de pesquisa, eu seleciono ele e dou um enter para trazer esse mesmo produto A setado na mesma tabela porem na tela principal , só to conseguindo setar clicando duas vezes, :( temos que achar outra maneira, valeu , forte abraço.
GOSTEI 0
Junior Miranda
03/08/2009
Blza!
Coloca um BreakPoint na condição e veja se ela está sendo satisfeita.
Se estiver...
Tem que funcionar como acontece com DClick. Se não posta ai e eu reproduzo a sua situação aqui comigo.
[]´s
Coloca um BreakPoint na condição e veja se ela está sendo satisfeita.
Se estiver...
Tem que funcionar como acontece com DClick. Se não posta ai e eu reproduzo a sua situação aqui comigo.
[]´s
GOSTEI 0
Steve_narancic
03/08/2009
Propriedade [b:b240cf591d]keypreview [/b:b240cf591d] do form deve estar TRUE
GOSTEI 0
Rafazan
03/08/2009
Olá amigos,seguinte to chegando quase lá, fiz como o amigo steve_narancic me disse coloquei na Propriedade keypreview do form =TRUE;tbm fiz como o amigo Junior Miranda me disse no evento OnKeyDown do Cxgrid1DbTableView1 , coloquei o codigo abaixo
if (Key = Vk_Return) then
begin
Em relação ao Break Point nao sei onde eu posso colocar ele dentro da condicao do codigo :-(
até agora nada , nao deu certo, eu notei que quando eu dou um enter sobre a linha selecionada dentro do cxgrid , ele passa a dar o foco ao botao incluir dai do enter vai pro alterar e depois volta o focu pra linha, é como se o tab order tivesse atrapalhando a linha de codigo e seguindo a sequencia do tab order,
seguinte eu postei abaixo o codigo do meu frm_principal;
// abaixo quando eu clico duas vezes sobre a linha ele me abre o cadastro do produto selecionado.
procedure Tfrm_principalcxGrid1DBTableView1CellDblClick(
Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
tbl1.edit;
Application.Createform(Tfrm_cadastro, Frm_cadastro);
Frm_cadastro.show;
end;
//abaixo está o codigo que estou tentando usar para abrir com o enter sobre a linha
procedure Tfrm_principal.cxGrid1DBTableView1KeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
if (Key = Vk_Return) then
begin
tbl1.edit;
Application.Createform(Tfrm_cadastro, Frm_cadastro);
Frm_cadastro.show;
end;
Se alguem puder me mostrar ou dar um exemplo nesse post eu agradeço, ou me dizer onde eu estou errando por favor em avise.
[/code]
if (Key = Vk_Return) then
begin
Em relação ao Break Point nao sei onde eu posso colocar ele dentro da condicao do codigo :-(
até agora nada , nao deu certo, eu notei que quando eu dou um enter sobre a linha selecionada dentro do cxgrid , ele passa a dar o foco ao botao incluir dai do enter vai pro alterar e depois volta o focu pra linha, é como se o tab order tivesse atrapalhando a linha de codigo e seguindo a sequencia do tab order,
seguinte eu postei abaixo o codigo do meu frm_principal;
// abaixo quando eu clico duas vezes sobre a linha ele me abre o cadastro do produto selecionado.
procedure Tfrm_principalcxGrid1DBTableView1CellDblClick(
Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
tbl1.edit;
Application.Createform(Tfrm_cadastro, Frm_cadastro);
Frm_cadastro.show;
end;
//abaixo está o codigo que estou tentando usar para abrir com o enter sobre a linha
procedure Tfrm_principal.cxGrid1DBTableView1KeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
if (Key = Vk_Return) then
begin
tbl1.edit;
Application.Createform(Tfrm_cadastro, Frm_cadastro);
Frm_cadastro.show;
end;
Se alguem puder me mostrar ou dar um exemplo nesse post eu agradeço, ou me dizer onde eu estou errando por favor em avise.
[/code]
GOSTEI 0
Junior Miranda
03/08/2009
Só para termos certeza de que realmente é isto...
faça o seguinte teste:
Ou seja vc terá que pressionar as teclas [Control] + [Enter].
Provavelmente vc já usar a tecla enter de forma genérica para mudança de campo. Testa e dá um post.
[]´s
faça o seguinte teste:
if ((Shift = [ssCtrl]) and (Key = Vk_Return)) then begin . . . end;
Ou seja vc terá que pressionar as teclas [Control] + [Enter].
Provavelmente vc já usar a tecla enter de forma genérica para mudança de campo. Testa e dá um post.
[]´s
GOSTEI 0
Rafazan
03/08/2009
Ainda não consegui,ele nao obedece ao comando ENTER, ele fica so pulando o focu entre os botoes quando eu pressiono ENTER e nada mas deixa pra lá, eu agradeço mesmo assim pela ajuda do amigo, forte abraço, até mais.
GOSTEI 0
Rafazan
03/08/2009
Boa noite pessoal, seguinte voltei atras ainda , porque na consegui resolver, e o pior de tudo é que lá na empresa o pessoal tá me cobrando essa parte ai,to ferrado :(, eu falei pra eles que tinha um jeito de fazer isso funcionar, kra eu to tentando de tudo mesmo, até exclui meu grid eu to usando o CxGrid da DevExpress ele é um pouco diferente mas tem umas fucnoes a mais, eu fui la no evento OnEnter do CxGrid e postei aquele codigo,o Keypreview do form=true e nada, tenho que resolver essa parte , eu sei que eu nao to conseguindo , mas deve ter alguma coisa que nao estou conseguindo observar que está errado, eu andei desabilitando os tabstop para False para ele justamente nao ficar pulando de botao em botao quando dou um enter, sei que tá meio chato eu ta perguntando toda hora, mas se alguem ta conseuindo ai me avisa, pq preciso muito resolver isso, abraço a todos, valeu, me mandem um exemplo se der um link para eu baixar exemplo e ver oque estou errando aqui.
GOSTEI 0