如何使GridView控件可见一列? [英] How to make visible a column of gridview?

查看:135
本文介绍了如何使GridView控件可见一列?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用Gridview.In这个我有2列,即部门和emailID.In这个gridview的部门是从数据库绑定并在GridView控件LinkBut​​ton的表现。

我想这样做,当我在THST部门点击的LinkBut​​ton使其可见列EMAILID。
我怎样才能做到这一点?Plaese指导我..

先谢谢了。

下面是我的网格:


            

 < ASP:的TemplateField>
                <&ItemTemplate中GT;
                    < ASP:LinkBut​​ton的ID =lnkbtnDept=服务器文本='<%#绑定(部门)%GT;'的OnClick =lnkbtnTitle_Click>< / ASP:LinkBut​​ton的>
                < / ItemTemplate中>
                < ItemStyle Horizo​​ntalAlign =左WIDTH =50%/>
            < / ASP:的TemplateField>            < ASP:的TemplateField>
                <&ItemTemplate中GT;
                    < ASP:面板ID =pnlN24=服务器可见=假>
                        < ASP:标签ID =lblTotal=服务器WIDTH =30文本=ABC>< / ASP:标签>
                    < / ASP:面板>
                < / ItemTemplate中>
            < / ASP:的TemplateField>
        < /专栏>
    < / ASP:GridView的>


解决方案

您必须处理 GridView控件事件 >控制特别是 RowCommand

 公共类演示
{
    公共字符串系{搞定;组; }
    公共字符串电子邮件{获得;组; }
}
保护无效的Page_Load(对象发件人,EventArgs的发送)
{
    如果(!的IsPostBack)
    {
        清单<示范及GT;名单=新名单,LT;演示>()
        {
                新的演示(){部门=A,电子邮件=a@a.com},
                新的演示(){部=B,电子邮件=b@b.com},
        };        GridView1.DataSource =清单;
        GridView1.DataBind();
    }}
保护无效GridView1_RowCommand(对象发件人,GridViewCommandEventArgs E)
{
    如果(e.CommandName ==CMD)
    {
        GridViewRow行=(e.CommandSource为LinkBut​​ton的).NamingContainer为GridViewRow;
        标签电子邮件= row.Cells [1] .FindControl(电子邮件)作为标签;
        email.Visible =真;    }
}

I am using Gridview.In this i have 2 columns i.e. department and emailID.In this gridview department is bind from database and showed in linkbutton in gridview.

I want to do that when i clicked on thst dept linkbutton it make visible the column emailID. How can i do this?Plaese guide me..

Thanks in advance.

Here is My Grid:

            <asp:TemplateField>
                <ItemTemplate>
                    <asp:LinkButton ID="lnkbtnDept" runat="server" Text='<%#Bind("Department")%>' OnClick="lnkbtnTitle_Click" ></asp:LinkButton>                        
                </ItemTemplate>
                <ItemStyle HorizontalAlign="Left" Width="50%" />
            </asp:TemplateField>

            <asp:TemplateField>
                <ItemTemplate>
                    <asp:Panel ID="pnlN24" runat="server" Visible="false">
                        <asp:Label ID="lblTotal" runat="server" Width="30" Text="abc"></asp:Label>
                    </asp:Panel>
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>

解决方案

You have to handle the events of GridView control especially RowCommand.

public class Demo
{
    public string Dept { get; set; }
    public string Email { get; set; }
}
protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        List<Demo> list = new List<Demo>()
        {
                new Demo() { Dept="A", Email="a@a.com" },
                new Demo() { Dept="B", Email="b@b.com" },
        };

        GridView1.DataSource = list;
        GridView1.DataBind();
    }

}
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
    if (e.CommandName == "cmd")
    {
        GridViewRow row = (e.CommandSource as LinkButton).NamingContainer as GridViewRow;
        Label email = row.Cells[1].FindControl("email") as Label;
        email.Visible = true;

    }
}

这篇关于如何使GridView控件可见一列?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆