Fórum Pressionar ENTER dentro da linha do cxgrid #373072
03/08/2009
0
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
Curtir tópico
+ 0Posts
05/08/2009
Junior Miranda
if (Key = Vk_Return) then begin frm_principal.Show; frm_principal.Edit1.text := DBEdit1.text; frm_consulta.close; end;
[]´s
Gostei + 0
06/08/2009
Rafazan
Gostei + 0
07/08/2009
Junior Miranda
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
07/08/2009
Steve_narancic
Gostei + 0
08/08/2009
Rafazan
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
10/08/2009
Junior Miranda
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
10/08/2009
Rafazan
Gostei + 0
13/08/2009
Rafazan
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)