DataView有没有方法能使用Sql的top方法返回指定的条数信息!100分
如题请解答谢谢! --------------------编程问答-------------------- 请教高手谢谢! --------------------编程问答-------------------- Lz:换个思路:你在数据查询出来,再绑定到DataView,不就知道了。。。。 --------------------编程问答-------------------- 不成我的dv里的数据是市政个表的数据!请教有没有方法来实现谢谢! --------------------编程问答-------------------- 用Sql在DataView是不可能的事了,不过你可以通过类似如下循环的方法来得到数据:
用循环的方法:
for (int i = 0;i<top;i++)
{
//读出DataView的第i个数据:dataView[i];
//或读出Dataview的第i个数据所对的DataRow:dataView[i].Row
}
--------------------编程问答-------------------- 直接写个Select语句查询数据库即可 --------------------编程问答-------------------- 不过用DataView的方便只处是用它的过滤的方法:
dataView.RowFilter = "条件"
--------------------编程问答-------------------- 急啊就没有高手能提供各方法吗?
--------------------编程问答-------------------- 有条件的话最好是用 dataView.RowFilter = "字段名+条件"
另外就试试控制GridView的行数(不分页) --------------------编程问答-------------------- 是不是要得到DataView经过筛选后的记录条数呢?
如果是,那就简单了:
int GetRecordCount(DataView dv)
{
IEnumerator ie=dv.GetEnumerator();
int cnt=0;
while(ie.MoveNext())
cnt++;
return cnt;
} --------------------编程问答-------------------- 没有这种方法,这个问题我在一年前就问过。
我感觉这就是DataView的一个缺陷。 --------------------编程问答-------------------- TO: lovevsnet(编程一把手) ( ) 信誉:100 Blog
int GetRecordCount(DataView dv)
{
IEnumerator ie=dv.GetEnumerator();
int cnt=0;
while(ie.MoveNext())
cnt++;
return cnt;
}
-----------------------
dataView不就有一个Count的属性吗?
DataView.Count 属性
在应用 RowFilter 和 RowStateFilter 之后,获取 DataView 中记录的数量。
--------------------编程问答-------------------- 2.0中的dataadapter的fill方法倒是可以指定你需要的从第几行到第几行的记录
dataview就不知道了... --------------------编程问答-------------------- 当然还有一个方法,就是先得到DataView.DataTable,然后由
DataRow[] dr=DataTable.Select("DataView中filter的条件");
dr.Length就是记录条数 --------------------编程问答-------------------- 仔细看LZ的题意好象是要得到DataView的前N条记录吧,哈哈,这个偶会一点点,对了,我第一个发贴是多此一举了,没看到DataView的Count.
代码如下:
private DataTable DataView_Copy_To_DataTable(DataView dv,int count)//取得DataView的前条count记录
{
DataTable dt=dv.Table.Clone();
IEnumerator ie=dv.GetEnumerator();
int i=0;
while(ie.MoveNext()&&i++<count)
{
DataRowView drv=(DataRowView)ie.Current;
DataRow dr=dt.NewRow();
dr.ItemArray=drv.Row.ItemArray;
dt.Rows.Add(dr);
}
return dt;
相信以上代码对很多朋友有用,有的人认为DataView有很多缺陷,其实就是因为不懂得好好使用造成的,我觉得它功能不错
}
--------------------编程问答-------------------- 不行的,
因为dataview筛选的话只能通过condition 来筛选,而top是用在select后的,所以不能实现
除非把dataview里的数据重新组装。 --------------------编程问答-------------------- select count(*) as total where 条件 (total就是你要的条数)
补充:.NET技术 , C#