您的位置:程序门 -> .net技术 -> c#



dataview有没有方法能使用sql的top方法返回指定的条数信息!100分


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


dataview有没有方法能使用sql的top方法返回指定的条数信息!100分
发表于:2007-01-25 14:31:27 楼主
如题请解答谢谢!
发表于:2007-01-25 14:47:301楼 得分:0
请教高手谢谢!
发表于:2007-01-25 15:00:492楼 得分:0
lz:换个思路:
            你在数据查询出来,再绑定到dataview,不就知道了。。。。
发表于:2007-01-25 15:03:313楼 得分:0
不成我的dv里的数据是市政个表的数据!请教有没有方法来实现谢谢!
发表于:2007-01-25 15:05:044楼 得分:0
用sql在dataview是不可能的事了,不过你可以通过类似如下循环的方法来得到数据:
用循环的方法:

for   (int   i   =   0;i <top;i++)
{
          //读出dataview的第i个数据:dataview[i];
          //或读出dataview的第i个数据所对的datarow:dataview[i].row
}
发表于:2007-01-25 15:05:495楼 得分:0
直接写个select语句查询数据库即可
发表于:2007-01-25 15:06:066楼 得分:0
不过用dataview的方便只处是用它的过滤的方法:
dataview.rowfilter   =   "条件 "
发表于:2007-01-25 17:06:087楼 得分:0
急啊就没有高手能提供各方法吗?
发表于:2007-01-25 17:29:108楼 得分:0
有条件的话最好是用     dataview.rowfilter   =   "字段名+条件 "    

另外就试试控制gridview的行数(不分页)
发表于:2007-01-26 12:59:189楼 得分:0
是不是要得到dataview经过筛选后的记录条数呢?
如果是,那就简单了:
int   getrecordcount(dataview   dv)
{
ienumerator   ie=dv.getenumerator();
int   cnt=0;
while(ie.movenext())
cnt++;
return   cnt;
}
发表于:2007-01-26 13:01:4910楼 得分:0
没有这种方法,这个问题我在一年前就问过。
我感觉这就是dataview的一个缺陷。
发表于:2007-01-26 13:08:1811楼 得分:0
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   中记录的数量。  

发表于:2007-01-26 13:19:4012楼 得分:0
2.0中的dataadapter的fill方法倒是可以指定你需要的从第几行到第几行的记录
dataview就不知道了...
发表于:2007-01-26 13:24:1913楼 得分:0
当然还有一个方法,就是先得到dataview.datatable,然后由
datarow[]   dr=datatable.select( "dataview中filter的条件 ");
dr.length就是记录条数
发表于:2007-01-26 13:39:5114楼 得分:0
仔细看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有很多缺陷,其实就是因为不懂得好好使用造成的,我觉得它功能不错

}
发表于:2007-01-26 14:00:3715楼 得分:0
不行的,  
因为dataview筛选的话只能通过condition   来筛选,而top是用在select后的,所以不能实现
除非把dataview里的数据重新组装。


快速检索

最新资讯
热门点击