2012-04-09 30 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