2016-09-08 18 views
0

私はチェックボックス、名前、電子メールでデータグリッドを持っています。 On CheckboxChecked電子メールを別のリストまたは文字列にコピーしたいとします。WPF DatagridはCheckboxCheckedイベントでデータを取得します

チェックされた行から特定の値を取得するにはどうすればよいですか?

private void CheckBox_Checked(object sender, RoutedEventArgs e) 
{ 
    object row = lbxCC1.SelectedItem; 
    int columnIndex = lbxCC1.Columns.Single(c => c.Header.Equals("eMail")).DisplayIndex; 
    String eMail = (lbxCC1.SelectedCells[columnIndex].Column.GetCellContent(row) as TextBlock).Text; 
    MessageBox.Show(eMail); 
} 

編集(2016年9月9日): たぶん私はあなたにもう少しコードを表示する必要があります。

public class Person 
{ 
    public string Nachname { get; set; } 
    public string Vorname { get; set; } 
    public string eMail { get; set; } 
    public string Abteilung { get; set; } 

} 
public static class PersonService 
{ 
    public static List<Person> ReadFile(string filepath) 
    { 
     var lines = File.ReadAllLines(filepath); 

     var data = from l in lines.Skip(1) 
        let split = l.Split(';') 
        select new Person 
        { 
         Nachname = split[1], 
         Vorname = split[2], 
         eMail = split[31], 
         Abteilung = split[4], 
        }; 

     return data.ToList(); 
    } 
} 

私はそれを呼び出す:私は背後にあるコードから列を構築していたよう

lbxCC1.DataContext = PersonService.ReadFile(@"C:\Test.csv"); 

、私は私がaswell私は右の午前それらをバインドする必要があると思いますか?

このため申し訳ありませんが、私は、これはあなたを助けるかもしれないと思う

答えて

0

:-)データグリッドへの新たなんだ:

Dim row As Data.DataRowView = DirectCast([yourDataGrid].SelectedItems(rowIndex), Data.DataRowView) 

次に、あなたのCheckBox_Checkedイベントに:

private void CheckBox_Checked(object sender, RoutedEventArgs e) 
{ 
    MessageBox.Show(row("email"); 'Assuming the column name is email 
} 

この値がDataGridにデータバインドされている場合です。

関連する問題