首页 新闻 搜索 专区 学院

如何在Gridview中的点击按钮时在ItemTemplate里指定行的控件隐藏和显示?

0
悬赏园豆:10 [已关闭问题]

如何在Gridview中的点击按钮时在ItemTemplate里指定行的控件隐藏和显示?

问题补充: 是要对指定行,如:点击第二行的Button按钮后,第二行的Textbox 就从隐藏变可见,其他行的Textbox还是隐藏的
zli的主页 zli | 初学一级 | 园豆:185
提问于:2009-07-29 17:07
< >
分享
其他回答(1)
0

参考:

http://blog.csdn.net/insus/archive/2008/03/09/2159352.aspx

如要对Label,

那可以这样子:label lbl = (Label)gvr.FindControl("Label1");

lbl.visible= ...

Insus.NET | 园豆:932 (小虾三级) | 2009-07-29 18:45
0

        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="ID" DataSourceID="EntityDataSource1" onrowcommand="GridView1_RowCommand">
<Columns>
<asp:BoundField DataField="ID" HeaderText="ID" ReadOnly="True" SortExpression="ID" />
<asp:TemplateField><ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" /></ItemTemplate></asp:TemplateField>
<asp:TemplateField><ItemTemplate>
<asp:Button ID="Button1" runat="server" Text="Button" CommandName="ShowHide" /></ItemTemplate></asp:TemplateField>
</Columns>
</asp:GridView>

通过内置模板列,设置一个按钮的CommandName为“ShowHide”,实现GridView的RowCommand方法控制内部控件隐现即可。

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "ShowHide")
{
var c
= (e.CommandSource as Control).FindControl("CheckBox1");
c.Visible
= !c.Visible;
}
}

注意,如果是控制未命名(没有ID)的控件隐现,则需要通过类似这样的索引来访问:(e.CommandSource as Control).Controls[3]

斯克迪亚 | 园豆:4124 (老鸟四级) | 2009-07-29 18:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册