2012-06-06 18 views
1

我需要一些幫助來了解如何爲網格控件一般設置列的列表。我有以下方法簽名第三方庫我想要使用:c#泛型。試圖爲網格控件設置列一般

public GridControl SetColumns<T>(Action<GridColumnModelList<T>> initCols) 

在我的控制器上的操作方法,我得到一個通用模型包含了我想要顯示的列的列表:

var gridprofile = new GridProfile<SiteVisitSearchGridViewModel>(gridProfileid); 

我現在要創建的網格控制,對我的列,但不知道如何做到這一點:

GridControl gc = new GridControl(); 
gc.SetColumns<SiteVisitSearchGridViewModel>(gridprofile.Columns); 

幫助,請

感謝 安迪

+0

這是一個尷尬的API有 - 的SetColumns方法需要行動委託 - 不是列的集合。你必須調用它像這樣gc.SetColumns (列=>在這裏用gridprofile.Columns做些什麼); – Bond

+0

感謝您的幫助,對我來說確實很尷尬,但我沒有任何Action代表的經驗。這是我遇到問題的lambda表達式位。 :( –

回答

1

你可以嘗試的東西(它可能無法編譯 - 我沒有安裝該庫做)這樣的:

gc.SetColumns<SiteVisitSearchGridViewModel>(columns => 
{ 
    foreach(col in gridprofile.Columns) 
     columns.Add(x => new GridColumnModel(col.Name)); 
});