日期:2014-05-18  浏览次数:20489 次

一个关于DataView的RowFilter的问题(十分有趣)
各位高手你们好:
        近日做了一个通用报表系统,在一个查询页面里表表格显示出了所要查询出的,全部内容,而且数据集DataView   也存入状态Session中,如Session[ "DataRegs "]   =   dv;
另外再打开另外一个页面,弹出一个二次查询窗口,要进行二次筛选,代码如下:
    DataView   dvTest11   =   null;
if(Session[ "DataRegs "]   !=   null)
{
dvTest11   =   (DataView)Session[ "DataRegs "];
dvTest11.RowStateFilter   =   DataViewRowState.CurrentRows;
dvTest11.RowFilter   =   strQueryExpression.TrimEnd( '   ');
DataView   myDv   =   dvTest11;
this.DataGrid1.DataSource   =   myDv;
this.DataGrid1.DataBind();
//dvTest11.RowFilter   =   " ";
}

二次筛选后呢,可能得到二次筛选的结果,问题是返回到原来的查询页面时的再进行操作时发现数据是刚才二次筛选时的数据集,不知为何.
    另然如果加上dvTest11.RowFilter   =   " ";   去除筛选可解决问题,但总觉得有些不解,一时找不出所以然,请各位高手给予指教,十分感谢!!

------解决方案--------------------
学习