我需要一个显示产品列表的 ASP.NET 屏幕,右侧是系统中每个“批发商”的列,每个项目的价格作为每列中的项目。
我将在此使用 Telerik RadGrid,并且用户必须能够过滤/分页 - 所以我假设我需要使用显式数据源。我已经开始创建一个 ObjectDataSource,其结构如下:
public string ProductRange { get; set; }
public long ProductID { get; set; }
public string Product { get; set; }
public decimal TradePrice { get; set; }
public Dictionary<Wholesaler, decimal?> WholesalerPrices;
我正在动态创建我的列,如下所示:
WDBDataContext dc = new WDBDataContext();
List<Wholesaler> wholesalerList = dc.Wholesalers.OrderBy(a => a.Name).ToList();
gvProductRange.Columns.Add(new GridBoundColumn() { UniqueName = "ProductRange", HeaderText = "Product Range", DataField = "ProductRange" });
gvProductRange.Columns.Add(new GridBoundColumn() { UniqueName = "Product", HeaderText = "Product", DataField = "Product" });
gvProductRange.Columns.Add(new GridBoundColumn() { UniqueName = "TradePrice", HeaderText = "Trade Price", DataField = "TradePrice", DataFormatString = "{0:c}" });
foreach (Wholesaler wholesaler in wholesalerList)
{
gvProductRange.Columns.Add(new GridBoundColumn() { UniqueName = wholesaler.ID.ToString(), HeaderText = wholesaler.Name, DataField = wholesaler.ID.ToString(), DataFormatString = "{0:c}" });
}
但是,我如何能够在运行时转换从 objectdatasource 返回的数据以绑定到这些正确的列 - 如果这甚至可能的话?
谢谢!