我有一个动态模板化的gridview。
它允许编辑,删除和插入新数据。
我还实现了另一个允许过滤gridview的函数。
目前我可以很好地进行过滤。但是,当进入编辑模式时,gridview会以某种方式重置为“过滤前的状态”。
Ex:Gridview orginally有100行。过滤后只有10行。进入编辑模式比再次显示100行。
以下是我的gridview进入编辑模式时的片段。
public void GridView_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView.EditIndex = e.NewEditIndex;
((TemplateField)GridView.Columns[1]).EditItemTemplate = null;
GridView.DataBind();
Session["SelecetedRowIndex"] = e.NewEditIndex;
}
感谢任何帮助...
答案 0 :(得分:1)
删除DataBind()
方法中对RowEditing
的号召。
public void GridView_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView.EditIndex = e.NewEditIndex;
((TemplateField)GridView.Columns[1]).EditItemTemplate = null;
Session["SelecetedRowIndex"] = e.NewEditIndex;
}
通过在此处调用DataBind()
,您将网格还原为其原始数据源,从而丢失了之前应用的过滤功能。
修改强>
您是否尝试在RowEditing
方法结束前重新应用过滤器?