ObjectDataSource / Grid - 动态列

时间:2013-03-18 12:43:23

标签: c# telerik radgrid objectdatasource

我需要一个显示产品列表的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返回的数据转换为绑定到这些正确的列 - 如果可能的话?

谢谢!

1 个答案:

答案 0 :(得分:0)

是“gvProductRange”网格视图吗?你为什么不直接分配gvProductRange.DataSource = wholesalerList?