(c#)DefaultView.RowFilter 如何筛选记录

来源:百度知道 编辑:UC知道 时间:2024/06/07 10:07:14
我想实现,下面那条SQL语句的功能
select top 20 * from viewOnclick order by id desc;
===========================
RowFilter 该如何写?
关键是 top 功能无法实现呀?大家有办法吗?

RowFilter只能通过条件筛选,前提是你sql返回所有的,然后使用DataView.RowFilter去离线数据库里筛选出符合条件的记录,你已经用sql top了怎么还设置RowFilter?
还有RowFilter是通过条件去筛选的.所以你要实现那个功能,首先要有一个连续增长的列,假设为RowNumber,代码如下
dv.RowFilter = "RowNumber < 21";

修改一下你的sql
sql server 2005以后的版本
select ROW_NUMBER() OVER(ORDER BY Id ASC ) as RowNumber,* from viewOnclick

sql server 2005以前的版本
Select (Select sum(1) from viewOnclickwhere id <= v.id) as iid,* from viewOnclick v order by iid

不用RowFilter,Sort="id desc",然后取前20个数据就行了。

筛选好像不能制定返回的行数吧

循环datatable前20行重新赋值给一个新的datatable

分页?