使用 X、Y、Z 轴(学生、课程、分数)创建示例数据 table 以绑定到网格

Creating a sample data table with X, Y, Z axis (student, cours, score) to bind to grid

我正在尝试创建数据 table 以绑定到用于演示目的的网格:
X 轴列:"StudentName"(字符串)
Y 轴列:"CourseName"(字符串)
Z轴列:"Score"(双)

用户必须能够编辑学生姓名和课程名称(因此这些必须是常规字段而不是列 headers)。我很可能会隐藏实际的列并将第一行显示为学生姓名。我想不通的主要是 Z 如何成为它的正确数据类型。

我想它会是这样的:

        DataTable table = new DataTable();
        table.Columns.Add("", typeof(string));
        table.Columns.Add("BRIAN", typeof(string));
        table.Columns.Add("SARAH", typeof(string));
        table.Columns.Add("JIM", typeof(string));

        table.Rows.Add("", "BRIAN", "SARAH", "JIM");
        table.Rows.Add("SCIENCE", .5, .2, .5, .6 );
        table.Rows.Add("ENGLISH", .5, .2, .5, .6);
        table.Rows.Add("MATH", .5, .2, .5, .6);

您试图实现的显示结构不是您在数据集中设置信息的方式

然后您可以根据需要以任何方式剪切/切片数据以用于显示目的

快速显示到网格的方法 创建一个对象 -> 将数据放入这些对象的集合 -> 绑定到网格

public class ReportScores(){
        public string Name {get;set;}
        public int EnglishScore {get;set}
        mathscore etc etc
}

创建 List<ReportScore>

将列表绑定到您的网格,平面分层网格包含每个学生的所有信息

根据我的经验,您尝试实现的网格有时会更难阅读

谢谢

特鲁兹