2010-07-30 54 views
0

我想使下列查詢動態化。Datatable上的動態Linq查詢

var t = from r in dt.AsEnumerable() 
orderby r.Field<int>("id") ascending 
select r; 

void query(string sorttype,string sortorder) 

是否possbile通過部分改變順序,使那些paramater將在這裏和排序順序來自像 sorttype id的函數的參數上升。

回答

0

我認爲這應該這樣做:

IEnumerable query<sorttype>(DataTable dt, string sortorder) { 
    return dt.GetList().OrderBy(row => row.Field<sorttype>(sortorder)); 
} 

注意sorttype是一個泛型類型參數,而不是字符串。

+0

Datatable是Enumerable,所以它不會這樣工作 – hrrrr 2010-07-30 03:13:05

+0

@hrrrr:你是對的,我已經添加了一個調用GetList()來解決這個問題。 http://msdn.microsoft.com/en-us/library/bb338495.aspx – recursive 2010-07-30 03:29:05