Array
(
)

Duvida DBGrid e tal

Joe_wah
   - 12 jan 2006

Alguem sabe como eu faço para sempre que o cursor do Grid mudar de posicao eu armazenar em uma variavel o valor de um determiando campo do registro indicado pelo cursor.??


Mdm
   - 12 jan 2006

Não tenho absoluta certeza mas vc podera usar o Evento BeforeScroll do DataSet.
Se eu estiver enganado algum de nossos colegas ira me corrigir. Por favor !


Edilcimar
   - 12 jan 2006

beforescroll só é válido se vc mudar de registro, se mudar de coluna não!


Marco Salles
   - 12 jan 2006

Mudar de coluna evento OnColExit

Pode-se testar

#Código

procedure TForm1.DBGrid1ColExit(Sender: TObject);
begin
if dbgrid1.SelectedIndex = numeroDaColunaQueVoceQuer Then
variavel:=RecebeoQueQuer
end;


em ves de trabalhar com o numero da coluna , sugiro trabalhar com o field , pois as colunas podem sofrer alteraçoes na grid , a não ser que elas sejam móveis..

Por exemplo :

#Código
procedure TForm1.DBGrid1ColExit(Sender: TObject);
begin
if dbgrid1.SelectedField.DisplayName = ´NomeDoCampoDaTabelaFisica´ Then
variavel:=RecebeoQueQuer
end;


Claro que isto tudo estando a tabela no modo de edição ou inserção .. Condição a ser previamente testada antes desse código