ASP.NET gridview的问题

来源:百度知道 编辑:UC知道 时间:2024/05/15 15:29:35
程序里有一个功能是:点击一具按钮把用户新查询的东西添加到gridview里,然后输出word,我的问题是,每次gridview里显示的都只是最后一次查询的内容。。。。
我想用一个datatable每次查询把查询结果添加到放到datatable里,然后再绑定gridview,为什么总是不成功,麻烦高手解答一下。。

DataRow myRow;

for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
myRow = dt.NewRow();

for (int j = 0; j < myRow.Table.Columns.Count; j++)
{

myRow[j] = ds.Tables[0].Rows[i][j];

}
dt.Rows.Add(myRow);

}
有没有人能帮忙啊。。。。急啊

你的操作只是添加到了数据集中,并没有保存到后台数据库中,所以显示的只是最后一次查询的。
要保存到数据库中你添加如下代码:
myda=new SqlDataAdapter("select * from 表名",myconn);//myda为数据适配器对象
SqlCommandBulider mycb=new SqlCommandBulider(myda);//声明SqlCommandBulider对象,和SqlDataAdapter对象相连
myda.Update(myds,"表名");//将数据集中的数据更新到数据库中
gridview1.DataSource=ds.Tables["表名"].Defaultview;
gridview1.Databind();
如果还不能解决,请给我留言。

DataRow myRow

这个对象不能再客户端保留,查询一次postback了,这个对象当前又是一个新的对象,你之前的结果全丢了

LZ你使用的是DataTable;
gridview.DataSource=dt.Table["表名"];

1楼的也可以,用的是DataSet.