我需要一个显示产品列表的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返回的数据转换为绑定到这些正确的列 - 如果可能的话?
谢谢!
答案 0 :(得分:0)
是“gvProductRange”网格视图吗?你为什么不直接分配gvProductRange.DataSource = wholesalerList?