RowFilter只是起到过滤作用,并没有你筛选前20条数据和排序功能。
建议:
1)排序:用DataView的Sort属性。
2)筛选前20条数据(通过界面隐藏,或者删除20条后面的记录)。
最好还是SQLDataApdater的Fill方法重载,可以通过SQL排序,同时通过Fill的一个重载方法一次性筛选20条记录,可以看( http://msdn.microsoft.com/zh-cn/library/0z5wy74x.aspx)
RowFilter只能通过条件筛选,前提是你sql返回所有的,然后使用DataView.RowFilter去离线数据库里筛选出符合条件的记录,你已经用sql top了怎么还设置RowFilter?还有RowFilter是通过条件去筛选的.所以你要实现那个功能,首先要有一个连续增长的列,假设为RowNumber,代码如下dv.RowFilter = "RowNumber < 21";修改一下你的sqlsql server 2005以后的版本select ROW_NUMBER() OVER(ORDER BY Id ASC ) as RowNumber,* from viewOnclicksql server 2005以前的版本Select (Select sum(1) from viewOnclickwhere id <= v.id) as iid,* from viewOnclick v order by iid