首页 > 编程 > C# > 正文

winform用datagridview制作课程表实例

2020-01-24 02:11:56
字体:
来源:转载
供稿:网友

本文实例讲述了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#程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表