隐藏或显示GridView控件列

有网友在论坛问及怎样隐藏或显示GridView控件的列。下面是Insus.NET实作方法,可供参考。
GridView资料,来自http://www.cnblogs.com/insus/archive/2013/05/01/3052604.html 首先来看看实现后的结果:



Insus.NET把GridView第一列设置好不能隐藏,其余2至4列的索引为1至3。在GridView控件上方,放一个DropDownList和两件铵钮:


在.aspx.cs上两个铵钮的Click事件:

 

写得不好,代码有冗余,因此改为:

 

 

 Ok, Insus.NET在接下来的演示中,使用另外一种方法来实现,让你能有更多的参考,首先想办法去获取GridView的列索引和列名,是的,是获取列名。并把它们存储起来,然后分别绑至两个DropDownList控件内。这样不需要使用两个按钮。如:


 下面是获取Gridview的列索引和列名:

View Code
 private Dictionary<int, string> GetGridViewColumnInfo()
    {
        Dictionary<int, string> dic = new Dictionary<int, string>();

        for (int i = 0; i < GridViewMember.Rows[1].Cells.Count; i++)
        {
            var header = (GridViewRow)GridViewMember.Controls[0].Controls[0];
            dic.Add(i, header.Cells[i].Text.Replace("\r\n", "").Trim());
        }

        return dic;
    }

 

把数据绑定至两个DropDownList控件去:

 

然后是处理RadioButtonList的结果,把所选择的值转为bool值:

View Code
 bool rtn;
    private bool Show()
    {
        switch (this.RadioButtonList1.SelectedItem.Value)
        {
            case "0":
                rtn = false;
                break;
            case "1":
                rtn = true;
                break;
        }
        return rtn;
    }


下面是处理两个下拉菜单选择变化事件:

 

再来看看运行的效果:

 

posted @ 2013-05-01 03:30  Insus.NET  阅读(4162)  评论(3编辑  收藏  举报