📄 courseinfolistform.cs
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using MySchoolPrj.DAO;
using MySchoolPrj.Entity;
namespace MySchoolPrj.CourseInfo
{
public partial class CourseInfoListForm : Form
{
private course cour;
public course Cour
{
get { return cour; }
set { cour = value; }
}
public CourseInfoListForm()
{
InitializeComponent();
}
//连接数据库获取信息
public void getCourse()
{
try
{
//打开数据库
DBHelper.con.Open();
//创建Command对象
SqlCommand cmd = new SqlCommand();
cmd.Connection = DBHelper.con;
cmd.CommandType = CommandType.Text;
//读取数据库Sql语句
string sql = "select * from course";
cmd.CommandText = sql;
//数据填充
SqlDataAdapter dap = new SqlDataAdapter();
dap.SelectCommand = cmd;
DataTable dt = new DataTable();
dap.Fill(dt);
//释放数据
//把dt数据放到DateSource中
dgvCourse.DataSource = dt;
}
catch (Exception ex)
{
//操作错误
MessageBox.Show(ex.Message);
}
finally
{
//关闭数据库
DBHelper.con.Close();
}
}
//初始化DataGridView的显示
public void initDg()
{ //如何选择datGradeView单元格
//整行选择
dgvCourse.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
//是否显示行标题的列
dgvCourse.RowHeadersVisible = false;
//单元格只读
dgvCourse.ReadOnly = true;
//不允许用户增加行
dgvCourse.AllowUserToAddRows = false;
//不允许用户选择多行
dgvCourse.MultiSelect = false;
for (int i = 0; i < dgvCourse.Columns.Count; i++)
{
//排序时 不包含列表头
dgvCourse.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable;
string headerText = dgvCourse.Columns[i].HeaderText;
switch (headerText)
{
case "courseId":
//把列标题命名为:课程编号
dgvCourse.Columns[i].HeaderText = "课程编号";
//列的宽度
dgvCourse.Columns[i].Width = 170;
break;
case "courseName":
// 把列标题命名为:课程名称
dgvCourse.Columns[i].HeaderText = "课程名称";
//列的宽度
dgvCourse.Columns[i].Width = 170;
break;
case "Memo":
//把列标题命名为:课程备注
dgvCourse.Columns[i].HeaderText = "课程备注";
//列的宽度
dgvCourse.Columns[i].Width = 170;
break;
}
}
}
//删除信息
public void delCourse(string courseId)
{
try
{ //从数据库中获取数据
DBHelper.con.Open();
//创建Command对象
SqlCommand cmd = new SqlCommand();
cmd.Connection = DBHelper.con;
cmd.CommandType = CommandType.Text;
//删除Sql语句
string sql = string.Format("delete from course where CourseId= '{0}'", courseId);
cmd.CommandText = sql;
cmd.ExecuteNonQuery();//执行命令
}
catch (Exception)
{
//错误操作
MessageBox.Show("该Id已被其他表引用,受主外键约束,无法删除");
}
finally
{//关闭数据库
DBHelper.con.Close();
}
}
//删除按钮事件
//提示是否删除
private void btnCancel_Click(object sender, EventArgs e)
{
int curRow;
DialogResult res = MessageBox.Show("你确定删除吗?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
//选择否时就返回
if (res == DialogResult.Cancel)
return;
//获取选择行的索引
if (dgvCourse.Rows.Count > 0)
{
curRow = dgvCourse.CurrentRow.Index;
}
else {
MessageBox.Show("没有信息无法删除!");
return;
}
DataTable dt = (DataTable)dgvCourse.DataSource;
string CourseId = dt.Rows[curRow]["CourseId"].ToString();
//调用删除方法
delCourse(CourseId);
//刷新界面
getCourse();
}
//Load事件
private void CourseInfoListForm_Load(object sender, EventArgs e)
{
//从数据库获取数据
getCourse();
//初始化DataGridView的显示
initDg();
}
//增加事件
private void btnAdd_Click(object sender, EventArgs e)
{
//创建CourseEditForm对象
CourseEditForm addcourseinfofrom = new CourseEditForm();
//调用窗体(模态)
addcourseinfofrom.ShowDialog();
//获取当前的索引
if (dgvCourse.Rows.Count>0)
{
//当前选择行的索引
int curRow = dgvCourse.CurrentRow.Index;
//增加的行显示出来
dgvCourse.Rows[curRow].Selected = true;
}
//刷新界面
getCourse();
}
//退出事件
private void btnExit_Click(object sender, EventArgs e)
{
this.Close();
}
//修改事件
private void button1_Click(object sender, EventArgs e)
{
//创建 CourseEditForm窗体的对象
CourseEditForm addForm = new CourseEditForm();
//获取当前单元格行的索引
int curRow = dgvCourse.CurrentRow.Index;
//从DataGradeView中的数据放到Dt中
DataTable dt = (DataTable)dgvCourse.DataSource;
//创建临时对象
course temp = new course();
//把当前选择的数据放到临时temp中
temp.CourseId = dt.Rows[curRow]["courseId"].ToString();
temp.CourseName = dt.Rows[curRow]["courseName"].ToString();
temp.Memo = dt.Rows[curRow]["Memo"].ToString();
//从枚举中选择dsUpdate界面
addForm.State = State.dsUpdate;
//把数据放到Cour类中
addForm.Cour = temp;
//调用窗体
addForm.ShowDialog();
//刷新界面
getCourse();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -