隐藏gridview行需要两次尝试

时间:2014-01-07 18:57:35

标签: c# gridview hide

我在页脚中为插入函数创建了一个带有文本框的gridview。我有一个默认隐藏的页脚。我还在标题的第一列添加了一个“添加”按钮,我将用它来显示页脚。我还希望这个按钮隐藏gridview行和按钮本身,有效地防止它们在插入模式下点击添加按钮,并将页脚放到gridview的顶部。

(VS2008 C#)

protected void btnNewUser_Click(object sender, EventArgs e)
{
   for (int i = 0; i < GridView2.Rows.Count; i++)
   {
       GridView2.Rows[i].Visible = false;

   }
   GridView2.ShowFooter = true;
   GridView2.HeaderRow.FindControl("btnNewUser").Visible = false;
}

第一次单击按钮时,页脚显示,但行和按钮保持可见。当我第二次单击该按钮时,行和按钮变为隐藏状态。如何只需点击一下即可完成所有工作?

编辑:如果我注释掉GridView2.ShowFooter = true;它会隐藏行很好。当我显示页脚时,是否有某种回发/刷新/数据绑定,等等?

1 个答案:

答案 0 :(得分:0)

是的,更改ShowFooter属性的值会标记gridview以进行重新绑定。 实现如下:

set
{
    bool showFooter = this.ShowFooter;
    if (value != showFooter)
    {
        this.ViewState["ShowFooter"] = value;
        if (base.Initialized)
        {
            base.RequiresDataBinding = true;
        }
    }
}

可能的解决方法可能是设置为页脚可见性。 (并始终将ShowFooter设置为true)

GridView2.FooterRow.Visible = true/false;