【问题标题】:How do I display my List into a C# Datagrid?如何将我的列表显示到 C# Datagrid 中?
【发布时间】:2014-05-06 15:16:25
【问题描述】:

我的教室里挤满了学生,我使用此代码跟踪了他们完成了哪些活动以及他们在每项活动中取得的分数:

public class TrackActivity
{
     public String StudentName {get; set;}
     public String ActivityName {get; set;}
     public int ActivityScore {get; set;}  // out of 10 points
}

我目前有一个名为 lstTrackScores 的“TrackActivity”列表,例如:

Barbara, juggling, 9
Barbara, cycling, 7
Chris, cycling, 9
Dennis, juggling, 8
Dennis, cycling, 6
Dennis, archery, 10

我事先不知道我的列表中有多少独特的学生,但我确实会在运行时找出每个学生可以参加的最大活动数量。如何在数据网格中显示上述信息独特学生的数量作为行数(这里,3:芭芭拉、克里斯和丹尼斯),活动的数量(这里,3:杂耍、骑自行车、射箭)作为列数?

然后,在每个单元格中,如果学生参加了该活动,则会有一个分数,如果他们没有参加该活动,则会有一个空白。最终,我想在数据网格中显示以上内容,而无需更改我的类。

我试图通过这样做来确定唯一学生的数量:

lstTrackScores.Select(x => x.StudentNames).Distinct().Count();

我想我想创建一个二维数组,其行数等于上面的 Count,列数等于 3。然后,不知何故,我将该数组显示到 Datagrid,但我不知道这该怎么做。我正在使用 C# 2010 Express。

【问题讨论】:

    标签: c# arrays list datagrid


    【解决方案1】:

    您基本上想要的是DataMatrix,其中行和列动态依赖于数据输入。

    在 Stackoverflow 上也有一个适当的答案,这将有所帮助 Dynamic data matrix WPF

    您必须构建一个二维数组并将其输入到网格中。

    【讨论】:

    • 那张快照正是我想要做的,谢谢你的链接
    【解决方案2】:

    将查询结果转换为通用列表并将其作为数据源传递给数据网格。

    【讨论】:

    • 他还需要动态栏目。
    【解决方案3】:

    你可以用这个

               yourdatagrid.DataSource = yourlist; 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-13
      • 2014-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-14
      • 1970-01-01
      相关资源
      最近更新 更多