本文实例讲述了winform用datagridview制作课程表的方法。分享给大家供大家参考。具体分析如下:
课程表的最终效果如下图所示:
具体方法如下:
1.首先定义一个datatable,并添加列集,行集。 一张课程表的表结构就出来了。(如上图表结构式4行8列)只有表有结构、有数据才可以绑到
datagridivew控件里。否则绑上了,也没得显示。
代码如下:
int num , week ; // 周数节数,第二步的时候用得到。DataTable dt = new DataTable("subject"); dt.Columns.Add("周数/节数", typeof(string)); //添加列集,下面都是 dt.Columns.Add("周一", typeof(string)); dt.Columns.Add("周二", typeof(string)); dt.Columns.Add("周三", typeof(string)); dt.Columns.Add("周四", typeof(string)); dt.Columns.Add("周五", typeof(string)); dt.Columns.Add("周六", typeof(string)); dt.Columns.Add("周日", typeof(string));
for (int i = 0; i < 4; i++) //用循环添加4个行集~ { DataRow dr = dt.NewRow(); dt.Rows.Add(dr); }
dt.Rows[0][0] = "第1节"; //向第一行里的第一个格中添加一个“第1节” dt.Rows[1][0] = "第2节"; //向第二行里的第一个格中添加一个“第 2 节” dt.Rows[2][0] = "第3节"; //向第三行里的第一个格中添加一个“第3节” dt.Rows[3][0] = "第4节"; //向第四行里的第一个格中添加一个“第4节”
数据库的样式如下图所示:
2. 做到上边表的结构就有了。接下来该向表中添加数据了。 我用的方法是在循环里拼凑 sql 语句。 向每一行的每一个单元格中添加数据。
写一个嵌套的循环就可以了。
代码如下:
for (int i = 0; i < 4; i++)//一共有四行,在课程表里i应该表示的是节数。 { for (int j = 1; j < 8; j++)//每行有7列需要添加数据,在课程表中,J 表示的应该是周数。 { num = i + 1; week = j; string sql = "select subject ,teacher,room,weekstar_end from subject_table where num='" + num.ToString() + "' and week = '" + week.ToString() + "'"; //拼凑SQL语句。 SqlConnection conn = new SqlConnection ("连接字符串~~"); conn.Open();SqlCommand command = new SqlCommand(sql, conn); SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { sum = reader.GetValue(0).ToString() + "\n" + reader.GetValue(1).ToString() + "\n" + reader.GetValue(2).ToString() + "\n" + reader.GetValue(3).ToString(); //如上图,一个格子里头有好几个信息。比如教师,教室,课程名。这里把从数据库中取出的数据拼在一起。放在变量SUM里。
dt.Rows[i][j] = sum; //把Sum 添加到datatable的小格子里。 } conn.Close(); //关闭数据库连接。 } }
代码如下:
this.DataGridView.DataSource = dt; //好了。
希望本文所述对大家的C#程序设计有所帮助。
本文向大家介绍WinForm中DataGridView折叠控件【超好看】,包括了WinForm中DataGridView折叠控件【超好看】的使用技巧和注意事项,需要的朋友参考一下 刚到一家新公司,领导下发任务要用cs系统做一个表格折叠显示,这真是把我难倒了,自己工作6年一直以来都是做BS的系统。这如果在BS里面那太简单了,JqGrid默认都自带,可是DataGridview不支持折叠啊。自己一点经
本文向大家介绍WinForm之BindingSource基础操作实例教程,包括了WinForm之BindingSource基础操作实例教程的使用技巧和注意事项,需要的朋友参考一下 通常我们在进行数据绑定的时候,常用的数据源有DataSet、DataTable、BindingList<T>、还有强类型数据源。今天我们来通过实例了解一下BindingSource组建,分享给大家供大家参考借鉴之用。 B
问题内容: 在JavaScript中有很多方法可以完成相同的操作。但是,我已经掌握了一些方式,但坦率地说,有些方式我不理解。有人可以帮我澄清一些事情吗?(我首先在PHP中学习了OOP。) 所以可以这样制作一个类: 到目前为止,这一切正确吗? 然后有人喜欢使用自执行匿名函数方法来创建名称空间。这样做的目的是什么,当您在上面做同样的事情时,提供了一个命名空间? 最后,您有一个我不理解的对象文字符号。
本文向大家介绍winform 实现控制输入法,包括了winform 实现控制输入法的使用技巧和注意事项,需要的朋友参考一下 这里文章写出来并不是为了炫耀什么,只是觉得发现些好东西就分享出来而已,同时也做个记录,方便以后查找 开始正文 1、先介绍本文会用到的windows的API,网上有很详细的资料,我这里就只简要说明一下 ImmGetContext(IntPtr hwnd):获取当前正在输入的
本文向大家介绍Android自定义View实现课程表表格,包括了Android自定义View实现课程表表格的使用技巧和注意事项,需要的朋友参考一下 自己闲下来时间写的一个课表控件,使用的自定义LinearLayout,里面View都是用代码实现的,最终效果如下图,写的可能有问题希望多多指点 创建一个自定义LinearLayout 控件用来装载课程的信息和课程的周数,和节数大概的布局三这样的 根据上
本文向大家介绍C# DatagridView常用操作汇总,包括了C# DatagridView常用操作汇总的使用技巧和注意事项,需要的朋友参考一下 本文汇总了C#中DatagridView的常用操作,有助于读者加深对C# DatagridView用法的理解,具体如下: 1、(最基本的技巧)、获取某列中的某行(某单元格)中的内容 2、自定义列 继承 DataGridViewTextBoxCe