Fórum pegar registros selecionados em dbgrid #182629
17/09/2003
0
Como faço para saber quais registros estão selecionados em uma dbgrid ?
Por exemplo: tenho uma grid que exibe: matricula, nome e idade de um cadastro de alunos. Nesta grid o usuario vai selecionar os alunos que farão parte de um determinado curso. Eu quero então pegar a somente a matricula dos alunos que foram selecionados na dbgrid pelo usuario para cadastrar em outra tabela. Alguem pode me ajudar ?
Rodrigo Costa
Curtir tópico
+ 1Posts
17/09/2003
Rodrigo Costa
Gostei + 0
17/09/2003
4_olho
Antes de mais nada é bom lembrar que dbGrid não permite multi-seleção, então tem de ser ´um por cada´.
No evento OnCellClick da dbgrid, coloque seu código, algo como :
que você pode substituir por
Table2matricula.Value:=Table1matricula.Value;
Gostei + 0
17/09/2003
Rodrigo Costa
Valeu pela resposta. Mas estou com uma dúvida quanto a impossibilidade de multi-seleção num dbgrid comun. Afinal o objeto dbgrid possui uma propriedade chamada dgMultiSelect que quando habilitada permite selecionar mais de um registro por vez. Basta clicar sobre o registro desejado pressionando a tecla <Crtl>.
Gostei + 0
18/09/2003
Werlon Goulart
Basta ativar a propriedade no Options do DBGrid...
E varrer o DBGRid pra pegar as linhas q foram marcadas com CTRL e clique ou Shift e Clique do mouse....
Para Varer o DBGrid use :
Var Aux:=Integer;
Begin
With edGridFatura do begin
for Aux:= 0 to SelectedRows.Count-1 do begin
Datasource.Dataset.Bookmark:= SelectedRows[Aux];
...
...
...
...
end;
end;
end;
Mais detalhes procure o Help do Delphi... La tem um exemplo sobre isso...
Um Abraço
Werlon Goulart
Gostei + 0
18/09/2003
4_olho
Obrigado a ambos. Olhando melhor as propriedades achei o MultiSelect.
[b:e820ff4f9f]Desculpem-me pela informação errada e obrigado pela resposta certa.[/b:e820ff4f9f]
Gostei + 0
18/09/2003
Rodrigo Costa
Obrigado pela dica !!!!!!
4_olho não esquenta, errar é humano e errando que se aprende !
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)