今天做项目时遇见一问题,无法控制模板列的显示与隐藏,这个是前台界面这个是前台界面的代码
http://hi.csdn.net/attachment/201106/7/6618679_13074534345516.png
下面的后台的代码。。
下拉列表中选择显示时,模板列可见;选择隐藏时,模板列不可见
弄了一下午还没做出来,求帮助。
namespace WebApplication1
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                ddlJudge.Items.Add("显示");
                ddlJudge.Items.Add("隐藏");
            }
        }
        protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
        {
            string judge = ddlJudge.SelectedValue.ToString();
            if (judge == "隐藏")
            {
                --------------//如何使GridView中的模板列隐藏
                    GetBind();
            }
            else
            {
                --------------//如何使GridView中的模板列显示
                    GetBind();
            }
            
        }
        private void GetBind()
        {
           // 绑定操作;
        }
    }
}

解决方案 »

  1.   

    晕,前台代码的图片没显示,直接贴代码了,急求答案劳烦大家了。。<body>
        <form id="form1" runat="server">
        <div>
            <asp:DropDownList ID="ddlJudge" runat="server" AutoPostBack="True" 
                onselectedindexchanged="DropDownList1_SelectedIndexChanged">
            </asp:DropDownList>
            <asp:GridView ID="gvTest" runat="server" AutoGenerateColumns="False">
                <Columns>
                    <asp:BoundField DataField="Id" HeaderText="编号" />
                    <asp:BoundField DataField="Name" HeaderText="姓名" />
                    <asp:TemplateField>
                        <HeaderTemplate>
                            操作
                        </HeaderTemplate>
                        <ItemTemplate>
                            <asp:LinkButton ID="edit" runat="server">编辑</asp:LinkButton>
                            <asp:LinkButton ID="delete" runat="server">删除</asp:LinkButton>
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>
        </div>
        </form>
    </body>
      

  2.   

    是真隐藏 还是假隐藏?你可以不用
    <asp:BoundField DataField="Id" HeaderText="编号" />
      <asp:BoundField DataField="Name" HeaderText="姓名" />直接控制数据源中的列 来绑定Gridview.
      

  3.   

    就是控制这个的显示和隐藏,前面的编号和姓名列一直显示。  <asp:TemplateField>
      <HeaderTemplate>
      操作
      </HeaderTemplate>
      <ItemTemplate>
      <asp:LinkButton ID="edit" runat="server">编辑</asp:LinkButton>
      <asp:LinkButton ID="delete" runat="server">删除</asp:LinkButton>
      </ItemTemplate>
      </asp:TemplateField>
      

  4.   

    控制第二列,如下:
    GridView1.Columns[2].Visible = false;
    GetBind();
      

  5.   

    你可以用两个函数在后台写,当选择哪个时显示或隐藏,设置对应列的属性eg: 
     private void xibushuji()
       {
           dismb();
           GridView1display();
           GridView1.Columns[1].Visible = false;//隐藏第一列
           GridView1.Columns[4].Visible = false;
           GridView1.Columns[5].Visible = false;
           GridView1.Columns[6].Visible = false;
       }。在选择的时候,执行
      

  6.   

    GridView1.Columns[0].Visible = false这样隐藏的话就得不到里面值了,可以设置列样式隐藏,在操作的时候可以取到隐藏列的数据。
      

  7.   

    都是,一样的啥,GridView1.Columns[编辑].Visible = false;//