DataGridView的ComboBox,想在列表文本中显示的文字是多个字段的组合结果,怎么弄

srhouyu 2013-05-15 10:19:56
某“学期”数据表有如下字段:
- 学期id
- 学年的第一年(例如2012-2013学年,就存储2012)
- 上学期还是下学期(上学期存储1,下学期存储2)

另一个“课程安排”数据表有如下字段:
- 安排id
- 学期id(外键)
- 课程id(外键)
- 开始时间

第二个表用DataGridView显示和编辑。其中,“学期id”需要使用一个组合框来选择第一个表中已经存在的学期记录。

为了容易辨别,组合框的内容需要来自“学期”数据表中的两个字段,还要加工处理以后再显示。

例如,当“学期”数据表的某个记录是“5,2012,1”时候,组合框显示的文字应该是“2012-2013第1学期”

在数据绑定下,这个功能如何实现?
...全文
137 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Kim_Du 2013-05-15
  • 打赏
  • 举报
回复

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()+"学期");
大致就是这么个思路,具体根据你的要求再稍微修改一下
srhouyu 2013-05-15
  • 打赏
  • 举报
回复
引用 2 楼 Kim_Du 的回复:
这个可以在sql语句里面修改,或者在查询到数据以后,整合table为你要的列样式,然后再给DataGridView绑定
可以说详细些吗? 第一个方法,我几乎没用什么sql语句,因为这块不熟。我直接绑定的。 后一个方法是什么步骤?
_小黑_ 2013-05-15
  • 打赏
  • 举报
回复
引用 2 楼 Kim_Du 的回复:
这个可以在sql语句里面修改,或者在查询到数据以后,整合table为你要的列样式,然后再给DataGridView绑定
+1
Kim_Du 2013-05-15
  • 打赏
  • 举报
回复
这个可以在sql语句里面修改,或者在查询到数据以后,整合table为你要的列样式,然后再给DataGridView绑定
srhouyu 2013-05-15
  • 打赏
  • 举报
回复
引用 7 楼 Kim_Du 的回复:
我都给你说了,具体的要按照你的实际需求来修改一下,肯定是要循环的啊,只是给你个思路 绑定会不会生效,就看你绑定的是否正确,字段对应是否正确,要是都没有问题的话,绑定肯定是没有问题的
感谢。
Kim_Du 2013-05-15
  • 打赏
  • 举报
回复
我都给你说了,具体的要按照你的实际需求来修改一下,肯定是要循环的啊,只是给你个思路 绑定会不会生效,就看你绑定的是否正确,字段对应是否正确,要是都没有问题的话,绑定肯定是没有问题的
srhouyu 2013-05-15
  • 打赏
  • 举报
回复
引用 5 楼 Kim_Du 的回复:

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复制来的,那么数据绑定会不会生效?

110,570

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧