wpf datagrid 行双击事件 | 您所在的位置:网站首页 › wpf的datagrid选中行绑定 › wpf datagrid 行双击事件 |
https://docs.devexpress.com/WPF/7875/index Xaml: cs代码: private void datagrid_MouseDoubleClick(object sender, MouseButtonEventArgs e){ DataGrid datagrid = sender as DataGrid; Point aP = e.GetPosition(datagrid); IInputElement obj = datagrid.InputHitTest(aP); DependencyObject target = obj as DependencyObject; while (target != null) { if (target is DataGridRow) { break; } target = VisualTreeHelper.GetParent(target); }}
// 获取点击行的数据 DataGrid datagrid = sender as DataGrid; Bom row = datagrid.SelectedItem as Bom;
WPF DataGrid使用简介 1)自动生成列 2)取消自动生成列,手动绑定到相应字段 最后一列设置Width ="*"是为了取消空白列。 (3)后台代码 private void Window_Loaded(object sender, RoutedEventArgs e) { datagrid.ItemsSource = AccessDAL.OleDbHelper.ExecuteDataTable("SELECT * from Customers").DefaultView; } //双击DataGrid,显示相应信息 private void datagrid_MouseDoubleClick(object sender, MouseButtonEventArgs e) { DataRowView row = datagrid.SelectedItem as DataRowView; MessageBox.Show(row["id"].ToString()); } //如果绑定到对象集合,如ObservableCollection,代码如下: ObservableCollection col; public EmployeeManage() { InitializeComponent(); col = new ObservableCollection(); col.Add(new Employee() { Id = 1, Name = "Jim", Salary = 2500.50f }); col.Add(new Employee() { Id = 2, Name = "John", Salary = 2600.50f }); datagrid.ItemsSource = col; } private void datagrid_MouseDoubleClick(object sender, MouseButtonEventArgs e) { Employee emp=datagrid.SelectedItem as Employee; MessageBox.Show(emp.Id.ToString()); } (4)删除选中的多行数据 private void Delete_Click(object sender, RoutedEventArgs e) { for (int i = datagrid.SelectedItems.Count - 1; i >= 0; i--) { Good good = datagrid.SelectedItems[i] as Good; goods.Remove(good); } } |
CopyRight 2018-2019 实验室设备网 版权所有 |