簡體   English   中英

DataGridView控件中的動態列(ASP.NET)

[英]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.

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