关于ASP.NET中GridView的一个问题

来源:百度知道 编辑:UC知道 时间:2024/06/01 16:55:03
我做了一个WebService,是用来读取数据库,返回的是DataSet,然后我做了一个网页,所谓客户端来调用那个WebService,网页上添加了一个GridView,用来接收显示WebService返回的数据集。但是查询一次,结果就在GridView中显示出来了,我在接着查询,上一次的结果就没有了,刷新成新的结果了。我想要那样的,就是第二次查询,出来的结果接着第一次的显示在后面,也就是说,新查询的结果,自动添加到上一次查询的结果里面,该怎么去做啊?

这里说新查询的结果,自动添加到上一次查询的结果里面,也就是数据集的合并!
把查询出来的DataSet转换为Table,然后新建一个DataTable tb =new DataTable();
然后就新建列,与表的列表相同,tb.Columns.add("sdfsf",typeof('int')),
然后DataRow dt.NewRow;就是复制一个行结构,
然后财把数据库循环添加进去!再用这一个dt做数据源,即可!!!

第一次查询数据已经放入了dataset的一个datatable里面,第二次查询的结果再次通过datatable.add.rows()方法添加到该datatable里。。。再次绑定gridview就OK了
比如datatable有三列,往datatable里添加一行记录:
string[] x={"a","b","c"};
DataSet.Table[0].Add.Rows(x);//需要添加多行就循环,别无他法
然后再绑定

把上次结果保持 dataset temp=new dataset();
temp= 上次的ds;

nowDs=这次的ds1

合并

public static dataset ds2=ds.Merge(ds1);//合并

gridview1.datasource=ds2;
gridview1.databind();

1.缓存结果,然后回显
2.显示GridView的时候不用数据源方式,手工添加。