读书人

GridView中的搜索后再编辑的有关问题

发布时间: 2012-03-22 17:43:57 作者: rapoo

GridView中的搜索后再编辑的问题
用了这么一个GridView:

C# code
    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)    {        GridView1.EditIndex = e.NewEditIndex;            strSql = "select * from Employee";        SetBind(strSql);    }


SetBind是数据绑定函数。
现在我的问题是搜索之后,再编辑第一条的记录的时候会变成编辑原来的搜索前的第一条记录

搜索前:

搜索后:

点击“编辑”,出问题了:


是不是数据绑定有问题?希望能编译这一条搜索出来的记录,不要回到搜索前的所有记录的界面里去就行了。

[解决办法]
贴一下前台代码吧。你搜索之后,原来编辑的第一条记录可能更本就没有绑定到页面上(不满足搜索条件的时候)。
[解决办法]
page_load里面有绑定第1批数据的代码 页面初始化的也就是第一批数据咯
[解决办法]
如果你明明要编辑第100行,结果 RowEditing 的时候(之前)其它用户删除了第85、90、95行,如果你此时绑定数据库记录那么你还就成了在编辑原来所看到第103行而不是第100行了。点编辑时,就是编辑GridView自身状态信息中保存的GridViewRow控件,而绝对不应该去绑定数据库。
[解决办法]
你的数据绑定出了问题,在关于GridView的每一个事件中都要进行新语句的返回结果集的绑定!
建议用全局的变量,这样比较。

读书人网 >asp.net

热点推荐