Usuário com melhor resposta
Datagrid - visualizar dados da linha seleccionada.

Pergunta
-
Respostas
-
Olá Tiago,
Segue um exemplo de como recuperar dados da linha do grid com o duplo click, espero que ajude.XAML
Code behind<Grid> <DataGrid x:Name="dtg"> <DataGrid.RowStyle> <Style> <EventSetter Event="DataGridRow.MouseDoubleClick" Handler="dataGridRow_MouseDoubleClick"/> </Style> </DataGrid.RowStyle> </DataGrid> </Grid>
public MainWindow() { InitializeComponent(); this.LoadDtg(); } public void LoadDtg() { List<Person> personList = new List<Person>(); personList.Add(new Person() { PersonAge = 20, PersonName = "Ana" }); personList.Add(new Person() { PersonAge = 22, PersonName = "Maria" }); personList.Add(new Person() { PersonAge = 22, PersonName = "Anderson" }); this.dtg.ItemsSource = personList; } void dataGridRow_MouseDoubleClick(object sender, MouseButtonEventArgs e) { DataGridRow row = e.Source as DataGridRow; MessageBox.Show(((Person)row.Item).PersonName); }
Classe entity para carregar o DataGrid
Att.public class Person { public string PersonName { get; set; } public int PersonAge { get; set; } }
Anderson- Sugerido como Resposta AndreAlvesLimaModerator segunda-feira, 22 de novembro de 2010 11:01
- Marcado como Resposta AndreAlvesLimaModerator quinta-feira, 13 de janeiro de 2011 11:47
-
Entendi .. sem problemas ... tente a seguinte alteração...
Att.void dataGridRow_MouseDoubleClick(object sender, MouseButtonEventArgs e) { DataGridRow row = e.Source as DataGridRow; MessageBox.Show(((System.Data.DataRowView)(row.Item)).Row.ItemArray[0].ToString()); }
Anderson- Marcado como Resposta AndreAlvesLimaModerator quinta-feira, 13 de janeiro de 2011 11:47
Todas as Respostas
-
Alguém tem uma dica?
O que eu queria basicamente era: eu tenho uma datagrid... com várias colunas, por exemplo:
"nome, morada, telefone", e o que eu pretendo é ao fazer duplo click numa linha, devolver o valor da morada na linha seleccionada. Como posso fazer?
Obrigada e até ja
-
Olá Tiago,
Segue um exemplo de como recuperar dados da linha do grid com o duplo click, espero que ajude.XAML
Code behind<Grid> <DataGrid x:Name="dtg"> <DataGrid.RowStyle> <Style> <EventSetter Event="DataGridRow.MouseDoubleClick" Handler="dataGridRow_MouseDoubleClick"/> </Style> </DataGrid.RowStyle> </DataGrid> </Grid>
public MainWindow() { InitializeComponent(); this.LoadDtg(); } public void LoadDtg() { List<Person> personList = new List<Person>(); personList.Add(new Person() { PersonAge = 20, PersonName = "Ana" }); personList.Add(new Person() { PersonAge = 22, PersonName = "Maria" }); personList.Add(new Person() { PersonAge = 22, PersonName = "Anderson" }); this.dtg.ItemsSource = personList; } void dataGridRow_MouseDoubleClick(object sender, MouseButtonEventArgs e) { DataGridRow row = e.Source as DataGridRow; MessageBox.Show(((Person)row.Item).PersonName); }
Classe entity para carregar o DataGrid
Att.public class Person { public string PersonName { get; set; } public int PersonAge { get; set; } }
Anderson- Sugerido como Resposta AndreAlvesLimaModerator segunda-feira, 22 de novembro de 2010 11:01
- Marcado como Resposta AndreAlvesLimaModerator quinta-feira, 13 de janeiro de 2011 11:47
-
-
Entendi .. sem problemas ... tente a seguinte alteração...
Att.void dataGridRow_MouseDoubleClick(object sender, MouseButtonEventArgs e) { DataGridRow row = e.Source as DataGridRow; MessageBox.Show(((System.Data.DataRowView)(row.Item)).Row.ItemArray[0].ToString()); }
Anderson- Marcado como Resposta AndreAlvesLimaModerator quinta-feira, 13 de janeiro de 2011 11:47
-
-
-
Tiago,
Conseguiu solucionar essa sua questão?
André Alves de Lima
Microsoft MVP - Client App Dev
Visite o meu site: http://www.andrealveslima.com.br
Me siga no Twitter: @andrealveslima -
-
Bom dia pessoal.
Também estava com esse problema e consegui resolver da seguinte forma:
private void datagrid1_MouseDoubleClick(object sender, MouseButtonEventArgs e) { DataRowView row = (DataRowView)datagrid1.CurrentItem; MessageBox.Show(row.Row.ItemArray[0].ToString()); }
[0] é o índice da coluna procurada.
Espero que ajude.
Victor Camargos -
Obrigado Vitor, eu ja tinha conseguido resolver o problema, e fico agradecido pelo seu interesse em responder.
So mais uma pergunta, quando o doubleclick e selecionado, executo varias operações (consulta, inserção... ) mas na saida o foco contiua no datagrid, como faço pra passar o foco para um outro controle, por exemplo um textbox?
ja tentei Focus() mas nao funciona.
Perez Mitozo
Perez Mitozo