某“学期”数据表有如下字段:
- 学期id
- 学年的第一年(例如2012-2013学年,就存储2012)
- 上学期还是下学期(上学期存储1,下学期存储2)另一个“课程安排”数据表有如下字段:
- 安排id
- 学期id(外键)
- 课程id(外键)
- 开始时间第二个表用DataGridView显示和编辑。其中,“学期id”需要使用一个组合框来选择第一个表中已经存在的学期记录。为了容易辨别,组合框的内容需要来自“学期”数据表中的两个字段,还要加工处理以后再显示。例如,当“学期”数据表的某个记录是“5,2012,1”时候,组合框显示的文字应该是“2012-2013第1学期”在数据绑定下,这个功能如何实现?
- 学期id
- 学年的第一年(例如2012-2013学年,就存储2012)
- 上学期还是下学期(上学期存储1,下学期存储2)另一个“课程安排”数据表有如下字段:
- 安排id
- 学期id(外键)
- 课程id(外键)
- 开始时间第二个表用DataGridView显示和编辑。其中,“学期id”需要使用一个组合框来选择第一个表中已经存在的学期记录。为了容易辨别,组合框的内容需要来自“学期”数据表中的两个字段,还要加工处理以后再显示。例如,当“学期”数据表的某个记录是“5,2012,1”时候,组合框显示的文字应该是“2012-2013第1学期”在数据绑定下,这个功能如何实现?
DataTable dt = GetData();//GetData为从数据库中获取数据的方法 DataTable dt1 = new DataTable();//dt1为整理后得到的table,也是Gridview的DataSource
dt1.Columns.Add("Combobox");//combobox那一列的列名
dt1.Rows.Add(dt.Rows[0]["学年的第一年字段"].ToString() + "-" + Convert.ToInt32(dt.Rows[0]["学年的第一年字段"].ToString()) + 1 + "第" + dt.Rows[0]["学期字段"].ToString()+"学期");大致就是这么个思路,具体根据你的要求再稍微修改一下
这个方法看起来挺巧妙,不过还有几个不懂的地方:
1. dt1.Rows.Add不需要循环添加所有的行吗?
2. dt1的内容是从dt复制来的,那么数据绑定会不会生效?