【发布时间】:2015-07-21 10:26:34
【问题描述】:
我有一个带有结束代码的表格,例如:
代码说明
CL1 原因 1
CL2 原因 2
AF1 1 个周期后
AF2 2 个周期后
还有一张订单表。订单将每周导入一次,除了其他列之外,该表还有一个包含批次日期的列和一个包含结束代码的列。当订单未关闭或具有第一个给定表中的代码之一时,最后一个可以为 NULL。
我想要一个网格视图,其中列出了每批的订单总数、已关闭订单的数量以及每个原因涉及的订单数量。 已经做了一个这样的类:
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 列表的方法。
在我的 aspx 页面中定义了一个 asp:gridview,AutoGenerateColumns=false。我喜欢用 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 定义什么才能从字典中获取值?或者这不是正确的方法吗?
【问题讨论】:
标签: c# asp.net gridview dynamic-columns