当前位置: 首页 > 编程笔记 >

winform用datagridview制作课程表实例

庾和昶
2023-03-14
本文向大家介绍winform用datagridview制作课程表实例,包括了winform用datagridview制作课程表实例的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了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();  //关闭数据库连接。    } }


3.最后一步,把整好的datatable添加到datagridview里。万事大吉了。

代码如下:

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