pegar registros selecionados em dbgrid
Pessoal,
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 ?
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
Curtidas 1
Respostas
Rodrigo Costa
17/09/2003
sobe
GOSTEI 0
4_olho
17/09/2003
Obrigado pelo [b:0d6f1ac83b]sobe[/b:0d6f1ac83b].
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
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
Rodrigo Costa
17/09/2003
Prezado 4_Olho,
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>.
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
Werlon Goulart
17/09/2003
Claro q o dbGrid aceita MultiSelecao...
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
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
4_olho
17/09/2003
:oops: Errei feio! :oops:
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]
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
Rodrigo Costa
17/09/2003
Valeu Werlon Goulart,
Obrigado pela dica !!!!!!
4_olho não esquenta, errar é humano e errando que se aprende !
Obrigado pela dica !!!!!!
4_olho não esquenta, errar é humano e errando que se aprende !
GOSTEI 0