Autoselect dbgrid

Delphi

05/07/2006

Ola, pessoal. To com uma dúvida:
Nos campos DBEdit tenho a proprieade Autoselect para que o texto fique selecionado no componente ao receber o foco. Como faço isto em um dbgrid, já que não tem esta propriedade?


Stclara3107

Stclara3107

Curtidas 0

Respostas

Edineidaniel

Edineidaniel

05/07/2006

Desculpe,
Mas não entendi bm qual o seu problema realmente..
Pq vc precisa de autoselect em um dbGrid? O q vc pretende fazer?

t+
Edinei


GOSTEI 0
Stclara3107

Stclara3107

05/07/2006

Pelo seguinte, meu amigo.
Troquei a tecla tab pelo enter no meu sistema. Só que o chefe quer que quando a célula do dbgrid receber o foco (são três no form) o texto venha ´selectado´ como quando uso um dbedit para que ele possa usar o ctrl+c para copiar e jogar para um outro lugar com ctlr+v.
É um sistema de controle de eleitores....


GOSTEI 0
Marco Salles

Marco Salles

05/07/2006

seguinte :

voce quer que ao receber o foco cada célula do dbgrid fique selecionada de cada vez , ou voce quer que todas as celulas juntas do dbgrid fiquem selecionadas de uma sóvez ????


GOSTEI 0
Stclara3107

Stclara3107

05/07/2006

Quero que o texto da celula que recebe o foco fique selecionado como se fosse um dbtext


GOSTEI 0
Marco Salles

Marco Salles

05/07/2006

[b:b42c2e0c1a]propriedade options do dbgrid ..coloque dgAlwasysShowEditor em False[/b:b42c2e0c1a]

isto deve resolver , caso não tenha exito , poste como esta configurado as suas propriedades Options para que possamos ajusta-la



GOSTEI 0
Marco Salles

Marco Salles

05/07/2006

propriedade options do dbgrid ..coloque dgAlwasysShowEditor em False Citação: isto deve resolver , caso não tenha exito , poste como esta configurado as suas propriedades Options para que possamos ajusta-la


isto vai dar aquele efeito azulado na celula da Grade.. Agora para usar o CNTR+C tente executar o codigo abaixo:

procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 if (Shift = [ssCtrl]) and (Key = 67) then
  begin
   if dbgrid1.SelectedField = NomeDoSeuTFiled1  then
      Clipboard.AsText:=NomeDoSeuTFiled1.AsString
   else
       if dbgrid1.SelectedField = NomeDoSeuTFiled2  then
         Clipboard.AsText:=NomeDoSeuTFiled2.AsString
       else
          if dbgrid1.SelectedField = NomeDoSeuTFiled3  then
            Clipboard.AsText:=NomeDoSeuTFiled3.AsString
          else
             if etec...
                 Clipboard.AsText:=etc....     
   end;
end;


[b:81b130f29e]declare na secção implementation a uses implementation Clipbrd;[/b:81b130f29e]


GOSTEI 0
POSTAR