如何使GridView控件可见一列? [英] How to make visible a column of gridview?
本文介绍了如何使GridView控件可见一列?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用Gridview.In这个我有2列,即部门和emailID.In这个gridview的部门是从数据库绑定并在GridView控件LinkButton的表现。
我想这样做,当我在THST部门点击的LinkButton使其可见列EMAILID。
我怎样才能做到这一点?Plaese指导我..
先谢谢了。
下面是我的网格:
< ASP:的TemplateField>
<&ItemTemplate中GT;
< ASP:LinkButton的ID =lnkbtnDept=服务器文本='<%#绑定(部门)%GT;'的OnClick =lnkbtnTitle_Click>< / ASP:LinkButton的>
< / ItemTemplate中>
< ItemStyle HorizontalAlign =左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为LinkButton的).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屋!
查看全文