C#学生管理系统——主界面和年级列表
上次的登陆功能做好了,今天就来做学生管理系统的主界面,如下图:
分为学生管理,班级管理,年级管理和退出四个菜单,学生管理和班级管理的子菜单分别是新增和查询列表。
下拉列表对应控件是comboBox,分别给这些子菜单起名字,方便后面使用。
新增学生——addstudent
学生列表——liststudent
新增班级——addclass
班级列表——listclass
年级列表——listgrade
退出——exit
布局好了以后,点击任意一个子菜单,都有新的窗口跳出,分别要添加5个新窗口,对应窗口中间加了下划线,如add_student等
跳转窗口,代码如下:
private void addstudent_Click(object sender, EventArgs e)
{
add_student ads = new add_student();
ads.Show();
}
每个子菜单的点击事件都是这样做,退出功能如下:
private void miexit_Click(object sender, EventArgs e)
{
Application.Exit();
}
年级列表的设计:
跳转到年级列表:
首先年级列表显示如下:
要想以表格的形式展示出来,需要用到控件Datagridview,该控件有个Dock的属性是用来绑定到窗体边框(就是固定位置的),所展示的内容就要右键编辑列来添加(有点像excel)。
注意:DataPropertyName这个属性一定要和数据库中的名称对应,如我数据库中grade表中id就和年级编号的该属性对应,gname就和年级名称该属性对应。
年级列表的布局做好后,进行数据库设计,后续会多次用到显示列表,于是我写了一个单独的一段,方便后面调用:
//列表的调用 要新建一个表 然后建立适配器
public static DataTable getDataTable(string sql)
{
///新建表对象
DataTable dt = new DataTable();
//建立连接
OleDbConnection con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\\Documents\\student.accdb");
//执行sql语句 一定是command来完成
OleDbCommand cmd = new OleDbCommand(sql, con);
//dataadapter自动打开和关闭链接,new一个dataadapter,selectcommand获取cmd的sql语句
OleDbDataAdapter oda = new OleDbDataAdapter();
oda.SelectCommand = cmd;
oda.Fill(dt); //用适配对象填充表对象
return dt;
}
数据库中的内容写好了,现需要一点开年级列表就加载出所有年级,则在list_grade_Load方法中写入sql语句:
private void list_grade_Load(object sender, EventArgs e)
{
//获取数据
string sql = "select * from [grade]";
DataTable dt= sqlhelper.getDataTable(sql);
dgvgrade.DataSource=dt;
}
这样年级列表就做好了,下图是结果:
下次写班级管理的班级列表。