2012-04-09 65 views
2
SELECT * FROM 
(SELECT distinct ROW_NUMBER() OVER (ORDER BY ProductId desc) AS Ranking, 
ProductId, 
ProductName, 
FROM View_AllArt) 
AS foo 
WHERE Ranking > " + i + " AND Ranking <= (" + (j) + ") 

ij是可接受的一些整數值。在DataTable上創建LINQ以獲取RowNumber

我該如何編寫LINQ查詢,就像這個SQL查詢一樣,其中我的View_AllArt將成爲dtAccount表。 (我想在DataTable上創建LINQ)。

回答

0

如果返回的結果,您可以通過排名這樣的過濾列表:

var table = GetDataTable(); //retrieve the data 

int i = 10; 
int j = 20; 

table = table.AsEnumerable().Where(r => r.Field<int>("Ranking") >= i && r.Field<int>("Ranking") <= j).AsDataView.ToTable(); 

編輯

您可能能夠避免返回使用的行索引行號DataTable

table = table.AsEnumerable().Where(r => table.Rows.IndexOf(r) >= i && table.Rows.IndexOf(r) <= j).AsDataView().ToTable(); 
+0

喜@詹姆斯·約翰遜,感謝即時回覆,但你能告訴我怎樣可以得到'RO數據表W_NUMBER()'。 – 2012-04-09 14:27:19

+0

如果你把它放在上面例子中的'SELECT'語句中,它應該作爲結果中的一列被返回。 – 2012-04-09 14:28:18