robinhocne Postado Fevereiro 27, 2011 Denunciar Share Postado Fevereiro 27, 2011 Pessoal não estou conseguindo deixar focado uma celula no DBgrid quando não tem registro nenhum, eu faço dessa maneira mas não dá certo...ela sempre pula para a proxima....o que eu faço ???if DbgClas.Fields[00].AsString = '' then begin DbgClas.SelectedIndex := 0; end; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Fevereiro 28, 2011 Denunciar Share Postado Fevereiro 28, 2011 procure sempre ser detalhista na explicação, para poder obter uma resposta .. ok ?em qual evento voce esta usando o comando ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 robinhocne Postado Fevereiro 28, 2011 Autor Denunciar Share Postado Fevereiro 28, 2011 procure sempre ser detalhista na explicação, para poder obter uma resposta .. ok ?em qual evento voce esta usando o comando ?opa, me desculpa, abri esse tópico e nem prestei atenção....Eu utilizo o Evento OnColExit do DbGrid, nele eu tenho ligado um DataSource que está ligado a uma tabela temporário(RxMemoryData).Onde gravo temporáriamente as informações do DbGrid e ai salvo, mas quando eu passo pela a coluna por exemplo a coluna 0 ( DbgClas.Fields[00].AsString ) que recebe o código da classificação eu verifico se existe algum valorif DbgClas.Fields[00].AsString = '' then begin DbgClas.SelectedIndex := 0; end;e quando está vazia em vez de ela ficar na primeira coluna ela pula para a proxima.O que pode ser ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Fevereiro 28, 2011 Denunciar Share Postado Fevereiro 28, 2011 exemplo: Voce deve usar o evento OnKeyPress do DBGridprocedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then // se teclar <Enter > if not (ActiveControl is TDBGrid) then begin Key := #0; Perform(WM_NEXTDLGCTL, 0, 0); end else if (ActiveControl is TDBGrid) then with TDBGrid(ActiveControl) do if selectedindex < (fieldcount -1) then begin selectedindex := selectedindex + 1; CDS_Banco.Edit; case selectedindex of 1 : CDS_BancoCODCLI.AsInteger := CDS_CadcliCOD.AsInteger; 2 : CDS_BancoDATA.value := now; 3 : if CDS_BancoDEPOSITOS.AsString = '' then selectedindex := 3; 4 : begin // comandos end; end; end;abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
robinhocne
Pessoal não estou conseguindo deixar focado uma celula no DBgrid quando não tem registro nenhum, eu faço dessa maneira mas não dá certo...ela sempre pula para a proxima....o que eu faço ???
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.