首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

(高手帮忙,高分相赠)一个上关于RowFilter的有关问题

2012-02-10 
(高手帮忙,高分相赠)一个上关于RowFilter的问题各位高手你们好:近日做项目时发现了一个关于RowFilter的问

(高手帮忙,高分相赠)一个上关于RowFilter的问题
各位高手你们好:
        近日做项目时发现了一个关于RowFilter的问题,举例说明:
        1.有一已定义好的数据集比如:Session[ "dv "]中存储的是一个DataView数据集;
        2.取得数据集
            DataView   dvFilter=   (DataView)Session[ "dv "];
            dvFilter.RowFilter   =   Session[ "FilterString "];
            this.DataGrid1.DataSource   =   dvFilter;
            this.DataGrid1.DataBind();

      但在再次访问Session[ "dv "]中的数据集的时候得到的结果却是刚才被筛选后的结果.但是刚才筛选后的结果并未存入状态中.不知为何这样,请高手给予指教!!

[解决办法]
DataView本身就是以RowFilter来过滤并显示数据的,它的记录的多少和RowFilter是相关的.
你记录这个DataView不如只记录RowFilter,

如果你只想把过滤后的数据保存到一个变量中,那么你可以使用如下的方法来得到过滤后的数据,比如:

DataTable tmpTable = dataView.ToTable();这里按DataView中的显示的记录生成了一个新的表

这样你就可以得到只有过虑后的数据的.
[解决办法]
你如果使用的是VS2003,DataView没有ToTable这个方法,最冬日的做法就是直接对RowFilter这个字符串控制.

一个DataView实际上并不保存任何一行数据,它只是一个DataTable的"视图",它所显示出的数据正是在RowFilter的条件下在DataTable中的记录,而DataView只是一个定义上的概念!
[解决办法]
DataView dvFilter= (DataView)Session[ "dv "];
dvFilter就是Session[ "dv "]的引用,还用你保存吗?都是一个东西

热点排行