簡體   English   中英

如何將列表顯示到C#Datagrid中?

[英]How do I display my List into a C# Datagrid?

我的教室到處都是學生,並且使用以下代碼跟蹤了他們進行了哪些活動以及在每個活動中取得了什么成績:

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。

您基本上想要的是一個DataMatrix ,其中行和列是動態依賴於數據輸入的。

在此處輸入圖片說明

在Stackoverflow上也有一個適當的答案,這將有助於動態數據矩陣WPF

您將必須構建一個二維數組並將其輸入到Grid中。

將查詢結果轉換為通用列表,並將其作為數據源傳遞給datagrid。

你可以用這個

           yourdatagrid.DataSource = yourlist; 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM