【发布时间】:2014-01-07 21:32:53
【问题描述】:
我将学生的成绩存储在一个表格中,如下所示:
StudentID | CourseID | TermID | Grade
1 | 1 | 1 | 10
1 | 2 | 1 | 12
1 | 3 | 1 | 9
1 | 4 | 1 | 5
1 | 5 | 1 | 19
1 | 1 | 2 | 11
前 3 列是外键。 我需要在 DataGridView 中为某个学生显示这些数据,例如:
_____|Course1|Course2|Course3|
Term1| 10 | 15 | 24 |
Term2| 12 | 30 | 50 |
我怎样才能做到这一点?我应该更改数据模型吗?
编辑添加了一些示例数据。 下面的查询可以工作,但我该怎么做:
在结果中将 TermID 替换为其对应的名称。
-
课程 ID 相同,选择所有可用课程而不是编写其 ID([1]、[2]...)
选择 * 从 ( 选择 [等级]、[学期 ID]、[课程 ID] 来自学生 ID = 1 的年级 ) 作为源 枢 ( MAX([等级]) FOR [CourseID] IN ([1] , [2], [3], [20]) ) 作为支点
【问题讨论】:
-
创建数据集以获取您需要的所有数据,然后将其绑定到 DATAGRID 控件
-
你喜欢交叉表吗
-
到目前为止你尝试了什么。请显示您当前的 DataGridView 代码,以便人们知道您遇到的问题。
-
使用dataadapter填充一个数据集,然后放入DataGridView.Datasource=dataset.tables(0)
标签: c# sql sql-server database-design datagridview