【问题标题】:Editing GridView Not Working After Filter过滤后编辑GridView不起作用
【发布时间】:2011-12-16 03:03:59
【问题描述】:

我有一个动态模板化的网格视图。

它允许编辑、删除和插入新数据到表中。

我还实现了另一个允许过滤网格视图的函数。

目前我可以很好地进行过滤。但是,当进入编辑模式时,gridview 会以某种方式重置为“过滤前的状态”。

例如:Gridview 最初有 100 行。过滤后仅 10 行。进入编辑模式后会再次显示 100 行。

这是我的gridview进入编辑模式时的sn-p。

 public void GridView_RowEditing(object sender, GridViewEditEventArgs e)
    {
        GridView.EditIndex = e.NewEditIndex;
        ((TemplateField)GridView.Columns[1]).EditItemTemplate = null;
        GridView.DataBind();
        Session["SelecetedRowIndex"] = e.NewEditIndex;
    }

感谢任何帮助...

【问题讨论】:

  • 你是如何过滤的?您是否使用SQLDataSource 的“过滤器表达式”属性?还是完全不同的东西?
  • 不.. 我创建了一个文本框和一个按钮。按钮点击触发事件。一切都是硬编码的..

标签: c# asp.net gridview filter


【解决方案1】:

在您的RowEditing 方法中删除对DataBind() 的调用。

public void GridView_RowEditing(object sender, GridViewEditEventArgs e)
{
    GridView.EditIndex = e.NewEditIndex;
    ((TemplateField)GridView.Columns[1]).EditItemTemplate = null;
    Session["SelecetedRowIndex"] = e.NewEditIndex;
}

通过在此处调用DataBind(),您可以将网格恢复为其原始数据源,从而丢失您之前应用的过滤。

编辑

您是否尝试在 RowEditing 方法结束之前重新应用过滤器?

【讨论】:

  • 你知道这是个好主意。我想就是这样。谢谢:)
  • @Rofans.NET - 我很高兴。祝你好运!
猜你喜欢
  • 1970-01-01
  • 2013-08-18
  • 1970-01-01
  • 1970-01-01
  • 2011-02-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多