[英]Dynamic columns in DataGridView control (ASP.NET)
我有一個List,其中包含以下模板中的記錄。
日期| 用戶| 問題| 答(可選)
對於哪些記錄將是
02/02/2015 | 哈利| 什么是..? | 五
02/02/2015 | 哈利| 怎么樣..? | 4
02/03/2015 | 愛麗絲| 什么是..? | 3
02/03/2015 | 愛麗絲| 怎么樣..? | 1
我需要一個數據Gridview來顯示以下模板中的記錄。
日期| 用戶| 什么是..? | 怎么樣..?
02/02/2015 | 哈利| 5 | 4
02/03/2015 | 愛麗絲| 3 | 1
誰能幫我嗎。 有沒有聰明的方法來做到這一點? 提前致謝。
//從工具箱中獲取dataGridView
DataTable dt = new DataTable();
dt.Columns.Add("date");
dt.Columns.Add("name");
dt.Columns.Add("info");
dt.Columns.Add("id");
for (Loop through your records)
{
dr = dt.NewRow();
dr[0] = ....; // your code here
dr[1] = ....;
dr[2] = ....;
dr[3] = ....;
dt.Rows.Add(dr); // now put row in table
Form2 f2 = new Form2();
f2.Show();
f2.dataGridView1.DataSource = dt;
不確定這是否是預期的答案,但它會產生預期的結果。
List<Record> Records = new List<Record>();
Records.Add(new Record { Answer = 5, Date = DateTime.Parse("02/02/2015"), User = "Harry", Question = "What is..?" });
Records.Add(new Record { Answer = 4, Date = DateTime.Parse("02/02/2015"), User = "Harry", Question = "How is..?" });
Records.Add(new Record { Answer = 3, Date = DateTime.Parse("02/03/2015"), User = "Alice", Question = "What is..?" });
Records.Add(new Record { Answer = 1, Date = DateTime.Parse("02/03/2015"), User = "Alice", Question = "How is..?" });
var Result = Records.GroupBy(r => new { r.Date, r.User })
.Select(g => new
{
Date = g.Key.Date,
User = g.Key.User,
WhatIs = g.Where(i => i.Question == "What is..?")
.Where(i => i.User == g.Key.User).Select(i => i.Answer).First(),
HowIs = g.Where(i => i.Question == "How is..?")
.Where(i => i.User == g.Key.User).Select(i => i.Answer).First()
}).ToList();
dataGridView1.DataSource = Result;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.