2013-03-18 4 views
0

제품 목록을 표시하는 ASP.NET 화면에 대한 요구 사항이 있으며 오른쪽에는 시스템의 각 도매 업체에 대한 열과 각 항목의 가격이 다음과 같이 표시됩니다. 각 열의 항목ObjectDataSource/Grid - 동적 열

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

"gvProductRange"격자보기입니까? 왜 그냥 gvProductRange.DataSource = wholesalerList를 할당하지 않습니까?

+0

이것은 할 수 있습니다. 그러나이 목록은 도매상 일 뿐이며 제품에 대한 관련 열은 없습니다. 또한 .DataSource를 사용하여 페이징/정렬/필터링을 사용할 수 없습니다. – Chris