过滤后编辑GridView不起作用

时间:2011-12-16 03:04:00

标签: c# asp.net gridview filter

我有一个动态模板化的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;
    }

感谢任何帮助...

1 个答案:

答案 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方法结束前重新应用过滤器?