天天看點

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<DemoViewModel>)

            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<DemoViewModel>)

var SelectedRow = (DemoViewModel)dgrdView.SelectedItem;