2015-07-21 14 views
0

我有一個表閉合代碼,例如:ASP:gridview的一個列表作爲數據源,其中也有一個字典

代碼描述

CL1原因1

CL2原因2

期間

AF1後1週期

AF2後也是一個訂單表。訂單將每週導入一次,除了其他列以外,該表還包含一個包含批日期的列和一個包含結束代碼的列。當訂單未關閉或具有來自第一個給定表的代碼之一時,最後一個可以爲NULL。

我想有一個gridview列出每個批次的訂單總數,關閉訂單數量和每個原因涉及的訂單數量。 已經犯了這樣的一類:

public class BatchSales 
    { 
     public DateTime BatchDate { get; set; } 
     public int BatchCount { get; set; } 
     public int TotalClosed { get; set; } 
     public Dictionary<string, int> Counters { get; set; } 
    } 

並返回BatchSales列表的方法。

定義一個asp:GridView控件在我的aspx頁面,用的AutoGenerateColumns =假。我喜歡填寫5列(批次日期,計數,關閉,CL1,CL2,AF1和AF2)和每行相關數據。

在我的代碼背後已經添加了第一個3.我的問題是添加基於字典的列。我讀過的列表收盤代碼和這樣做:

  foreach (var item in reasons) 
      { 
       BoundField bf = new BoundField(); 
       bf.HeaderText = item.Description; 
       bf.DataField = "xxxx"; 
       bf.DataFormatString = "{0:n0}"; 
       bf.HeaderStyle.VerticalAlign = VerticalAlign.Top; 
       bf.ItemStyle.VerticalAlign = VerticalAlign.Top; 
       bf.ItemStyle.Wrap = false; 
       gvBatch.Columns.Add(bf); 
      } 

我需要做什麼來定義XXXX來從字典中的價值?或者這不是正確的方法?

+0

看看這是否可以幫助你http://www.codeproject.com/Articles/160773/Expandable-Rows-in-GridView – Bayeni

回答

0

你想要的是更多的樞軸網格。除此之外,您需要在字典列中將項目模板顯示爲行(不理想),或者在此情況下我會做的只是在該列中有一個按鈕,表示「顯示詳細信息」,或者有一個模式窗口彈出與計數的名單或將其與計數的列表發送到詳細信息頁面。

相關問題