GridView模版列里面的按钮怎么隐藏?
如题我的gridview有三列,第三列是模版列,模版列里面有两个ImageButton,我想在page_load的时候将其中一个imagebutton隐藏掉,不要告诉我在...
如题我的gridview有三列,第三列是模版列,模版列里面有两个ImageButton,我想在page_load的时候将其中一个imagebutton隐藏掉,不要告诉我在属性里面设置Visible. 我要的是代码,我写的是(ImageButton)(this.gridview1.Rows[2].FindControl("ImageButton1"));但是不对...找高手问下????
一楼的报错为索引超出范围。必须为非负值并小于集合大小。参数名: index
二楼的在RowDataBound事件中写这个话有错误,“System.EventArgs”不包含“Rows”的定义,并且找不到可接受类型为“System.EventArgs”的第一个参数的扩展方法“Rows”
就是最后那个被圈起来的小勾勾,我想隐藏起来,请贴出代码 谢谢了 展开
一楼的报错为索引超出范围。必须为非负值并小于集合大小。参数名: index
二楼的在RowDataBound事件中写这个话有错误,“System.EventArgs”不包含“Rows”的定义,并且找不到可接受类型为“System.EventArgs”的第一个参数的扩展方法“Rows”
就是最后那个被圈起来的小勾勾,我想隐藏起来,请贴出代码 谢谢了 展开
3个回答
展开全部
你是要隐藏所有行
那你(ImageButton)(this.gridview1.Rows[2].FindControl("ImageButton1"));
Rows[2]就不对啦
加入你的gridview连标题一共是10行
page_load里面就写个循环还控制
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
for (int i = 0; i < 9; i++)
{
((ImageButton)GridView1.Rows[i].FindControl("ImageButton1")).Visible = false;
}
}
}
我贴出来你照着改啊…… 怎么可能不对呢
是在不行你把Rows[2]改成Rows[0],第一行的勾能隐藏掉 ,要隐藏所有就加循环
那你(ImageButton)(this.gridview1.Rows[2].FindControl("ImageButton1"));
Rows[2]就不对啦
加入你的gridview连标题一共是10行
page_load里面就写个循环还控制
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
for (int i = 0; i < 9; i++)
{
((ImageButton)GridView1.Rows[i].FindControl("ImageButton1")).Visible = false;
}
}
}
我贴出来你照着改啊…… 怎么可能不对呢
是在不行你把Rows[2]改成Rows[0],第一行的勾能隐藏掉 ,要隐藏所有就加循环
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
位置好像写的不对
你想一下,你是要把每行的这个imageButton给禁掉,对吧
因此,要对每一行都设置一下。
写在RowDataBound这个事件里就行了
(ImageButton)(e.Row.Cells[2].FindControl("ImageButton1")).Visible = Fasle;
大哥,怎么会不对呢,我刚帮你试过了,没问题呀
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
((ImageButton)(e.Row.Cells[0].FindControl("myBtn"))).Visible = false;
}
}
你想一下,你是要把每行的这个imageButton给禁掉,对吧
因此,要对每一行都设置一下。
写在RowDataBound这个事件里就行了
(ImageButton)(e.Row.Cells[2].FindControl("ImageButton1")).Visible = Fasle;
大哥,怎么会不对呢,我刚帮你试过了,没问题呀
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
((ImageButton)(e.Row.Cells[0].FindControl("myBtn"))).Visible = false;
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不论在哪里只要你列位置写对,就可以对里面的控件进行操作
(this.GridView1.Rows[2].FindControl("ImageButton1") as ImageButton).Visible = false;
如果还不行,请把报错贴出来。
(this.GridView1.Rows[2].FindControl("ImageButton1") as ImageButton).Visible = false;
如果还不行,请把报错贴出来。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询