private void dgvStudentList_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex != -1)
            {
                //获取行数据
                DataRow dr = (dgvStudentList.Rows[e.RowIndex].DataBoundItem as DataRowView).Row;
                //获取点击的单元格
                DataGridViewCell cell = dgvStudentList.Rows[e.RowIndex].Cells[e.ColumnIndex];
                if (cell is DataGridViewLinkCell && cell.FormattedValue.ToString() == "Update")
                {
                    //修改操作 打开修改页,传studentId 1.构造函数  2.tag  3.开放变量
                    reLoad = LoadAllStudentList;// 赋值委托
                    int            stuId   = (int)dr["StudentId"];
                    FrmEditStudent frmEdit = new FrmEditStudent();
                    frmEdit.Tag = new TagObject()
                    {
                        EditId = stuId,
                        ReLoad = reLoad
                    };
                    frmEdit.MdiParent = this.MdiParent;
                    frmEdit.Show();//顶级窗体
                }
                else if (cell is DataGridViewLinkCell && cell.FormattedValue.ToString() == "Delete")
                {
                    if (MessageBox.Show("You absolutely want to DELETE this student?", "DeleteTip",
                                        MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        int stuId = (int)dr["StudentId"];
                        //删除操作
                        //加删除
                        string       sqlDel0  = "update StudentInfo set IsDeleted = 1 where StudentId = @StudentId ";
                        SqlParameter paraDel0 = new SqlParameter("@StudentId", stuId);
                        int          count    = SqlHelper.ExecuteNonQuery(sqlDel0, paraDel0);
                        if (count > 0)
                        {
                            MessageBox.Show("Delete student SUCCESSFUL!", "DeleteTip",
                                            MessageBoxButtons.OK, MessageBoxIcon.Information);
                            //DataGrideView还未刷新
                            DataTable dtStudents = (DataTable)dgvStudentList.DataSource;
                            //dgvStudentList.DataSource = null;
                            dtStudents.Rows.Remove(dr);
                            dgvStudentList.DataSource = dtStudents;
                        }
                        else
                        {
                            MessageBox.Show("Fail to Delete!", "DeleteTip",
                                            MessageBoxButtons.OK, MessageBoxIcon.Error);
                            return;
                        }
                    }



                    //真删除
                }
            }
        }
Exemple #2
0
        /// <summary>
        /// 修改或删除功能实现
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void dgvStudents_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex != -1)
            {
                DataRow dr = (dgvStudents.Rows[e.RowIndex].DataBoundItem as DataRowView).Row;
                //获取点击的单元格
                DataGridViewCell cell = dgvStudents.Rows[e.RowIndex].Cells[e.ColumnIndex];

                //判断是修改还是删除
                if (cell is DataGridViewLinkCell && cell.FormattedValue.ToString() == "修改")
                {
                    //修改操作,打开修改页面,并把StudentId传过去
                    //传值:1.构造函数  2.Tag属性(推荐)  3.公共参数
                    reLoad = LoadAllStudentList;//赋值给委托
                    int stuId = (int)dr["StudentId"];
                    //1.构造函数
                    FrmEditStudent frmEditStudent = new FrmEditStudent(stuId);
                    //2.tag属性
                    frmEditStudent.Tag = new TagObject()
                    {
                        EditId = stuId,
                        Reload = reLoad
                    };

                    //3.公共参数
                    frmEditStudent.pubStuId  = stuId;
                    frmEditStudent.MdiParent = this.MdiParent;
                    frmEditStudent.Show();
                }
                else if (cell is DataGridViewLinkCell && cell.FormattedValue.ToString() == "删除")
                {
                    int    stuId   = int.Parse(dr["StudentId"].ToString());
                    string stuName = dr["StudentName"].ToString();
                    //删除操作
                    if (MessageBox.Show($"确定删除学生:{stuName} 的信息吗?", "删除学生提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        //假删除 isdeleted  0--->1
                        string       sqlDel0 = "update StudentInfo set IsDeleted=1 where StudentId=@StudentId";
                        SqlParameter para    = new SqlParameter("@StudentId", stuId);
                        int          count   = SqlHelper.ExecuteNoQuery(sqlDel0, para);
                        if (count > 0)
                        {
                            MessageBox.Show("该学生信息删除成功", "删除学生信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            //手动刷新datagridview
                            DataTable dtStudents = (DataTable)dgvStudents.DataSource;
                            dgvStudents.DataSource = null;
                            dtStudents.Rows.Remove(dr);
                            dgvStudents.DataSource = dtStudents;
                        }
                        else
                        {
                            MessageBox.Show("学生信息删除失败", "删除提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            return;
                        }
                        //真删除
                        //string sqlDel0 = "delete StudentInfo where StudentId=@StudentId";
                        //SqlParameter para = new SqlParameter("@StudentId", stuId);
                        //int count = SqlHelper.ExecuteNoQuery(sqlDel0, para);
                        //if (count > 0)
                        //{
                        //    MessageBox.Show("该学生信息删除成功", "删除学生信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        //    //手动刷新datagridview
                        //    DataTable dtStudents = (DataTable)dgvStudents.DataSource;
                        //    dgvStudents.DataSource = null;
                        //    dtStudents.Rows.Remove(dr);
                        //    dgvStudents.DataSource = dtStudents;
                        //}
                        //else
                        //{
                        //    MessageBox.Show("学生信息删除失败", "删除提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        //    return;
                        //}
                    }
                }
            }
        }