C# WPF的DataGrid中获取当前行地数据(修改、删除)以删除为例

#region 删除按钮的点击事件
        // 删除
        private void BtnDeleteOne_Click(object sender, RoutedEventArgs e)
        {
            //获取需要删除的行
            //DataRowView SelectedRow = dgrdView.SelectedItem as DataRowView;// 当你的DataGrid的ItemsSource是DataTable时使用该方式
            var SelectedRow = (DemoViewModel)dgrdView.SelectedItem; // 当你的DataGrid的ItemsSource是对象集合时使用该方式(这里我用的这个,我的对象集合是List)

            Console.WriteLine("=========>" + SelectedRow.Id);
            Console.WriteLine("=========>" + SelectedRow.name);
            Console.WriteLine("=========>" + SelectedRow.sex);

            if (SelectedRow == null)
            {
                this.ShowMessage("请选择一行数据!", MessagePage.MessageType.WARNING);
            }
            else
            {
                if (this.ShowMessage("是否要删除该条记录?", MessagePage.MessageType.QUSTION))
                {
                    string Id = SelectedRow.Id.ToString();
                    if (demoBll.DeleteOneUser(Id))
                    {
                        //成功
                        this.ShowMessage("删除成功!", MessagePage.MessageType.INFORMATION);
                        Init(); // 删除成功后初始化表格(刷新)
                        txtSearchName.Text = ""; // 清空搜索栏
                    }
                    else
                    {
                        //失败
                        this.ShowMessage("删除失败!", MessagePage.MessageType.ERROR);
                        return;
                    }
                }

            }
        }
#endregion

// 当你的DataGrid的ItemsSource是DataTable时使用该方式

//DataRowView SelectedRow = dgrdView.SelectedItem as DataRowView;

// 当你的DataGrid的ItemsSource是对象集合时使用该方式(这里我用的这个,我的对象集合是List
var SelectedRow = (DemoViewModel)dgrdView.SelectedItem;

你可能感兴趣的:(WPF)