wpf datagrid 行双击事件 您所在的位置:网站首页 wpf的datagrid选中行绑定 wpf datagrid 行双击事件

wpf datagrid 行双击事件

2023-09-09 22:05| 来源: 网络整理| 查看: 265

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 实验室设备网 版权所有