2017-02-13 41 views
0

我有一個查詢可以讓我重新獲得3500行的結果。每一行每天有15分鐘的時間記錄期間:將數據劃分爲datagridview C#

   DATE   VALUE 
    --------------------|------- 
    1 |2016-10-21 10:00:00| 0 
    2 |2016-10-21 10:15:00| 0 
    3 |2016-10-21 10:30:00| 6 
    4 |2016-10-21 10:45:00| 9 
    5 |2016-10-21 11:00:00| 18 
    6 |2016-10-21 11:15:00| 15 
      . 
      . 
      . 
3500|2016-11-30 00:15:00| 0 

我想插入一個C#的datagridview此查詢,但我不希望有一個獨特的專欄中,我想每個day.For例如柱,在這個查詢我得到了40天的結果,並且我想要每天都有一列datagridview。

¿任何人都知道哪個是最快的方法來做到這一點?

+1

如果你有365天,你想365列?還有一行有值?此外,您的問題太廣泛了 - 您應該要求以所需格式準備數據,或者您應該有數據並詢問如何將其綁定到gridview –

+0

我原以爲你會更好地在數據庫中生成所需的輸出。然後返回數據並綁定到網格。 – Wheels73

+0

不,我最多可以有40個列。這就是爲什麼我需要列。 – dbz

回答

-1

首先在同一天添加所有值,然後按照您需要的方式重建List,然後將其插入到C#datagridview。

+0

這可能是一個問題的評論,但它絕對不是一個安塞爾 –

0

類似的東西:

var query = new[] { new { Date = new DateTime(2016,10,21,10,0,0), Value = 6 }, 
        new { Date = new DateTime(2016,10,21,10,15,0), Value = 9 }, 
        new { Date = new DateTime(2016,10,30,10,0,0), Value = 18 }}; 
var groupedQuery = query.GroupBy(p => p.Date.Date, p => p.Value, (key, g) => new { Date = key, Value = g.Sum() }); 
var grid = new DataGridView(); 
var bs = new BindingSource(); 
bs.DataSource = groupedQuery; 
grid.AutoGenerateColumns = false; 
grid.DataSource = bs; 
foreach (var item in groupedQuery) 
{ 
    DataGridViewColumn column = new DataGridViewColumn { HeaderText = item.Date.Date.ToString() }; 
    grid.Columns.Add(column); 
}