急:asp.net gridview中 hyperlinkfield的问题!

最帅的小猪 2010-05-27 11:10:39
我想根据gridview中某一列(BoundFiled)绑定的值相应改变hyperlinkfield的显示状态,比方说BoundFiled绑定的是布尔值,我想实现的效果是:如果布尔值为真,hyperlinkfield状态为灰色不可操作,反之可操作!怎么实现,拜求各位大虾赐教!
...全文
192 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
最帅的小猪 2010-08-25
  • 打赏
  • 举报
回复
后台写了个方法解决了,贴出来大家分享一下:
foreach (GridViewRow dr in gvTroubleDeviceShow.Rows)
{
string isHandle = ((Label)(dr.Controls[5].Controls[1])).Text;//参照的对象

if (isHandle == "已处理")
{
((HyperLink)dr.Controls[7].Controls[0]).ForeColor = Color.Gray;
((HyperLink)dr.Controls[7].Controls[0]).NavigateUrl = "";
}
}

( 需要引用的空间为:using System.Drawing;)
wuyq11 2010-05-27
  • 打赏
  • 举报
回复
Enabled='<%# (bool)Eval("")?true:false %>'>
或GridView1_RowDataBound中设置
((HyperLink)GridView1.Rows[i].FindControl( "HyperLink1 ")).Enabled = false;
最帅的小猪 2010-05-27
  • 打赏
  • 举报
回复
<asp:HyperLinkField DataNavigateUrlFields="tr_ID"
DataNavigateUrlFormatString="~/Func/troubleinsert.aspx?tr_ID={0}"
HeaderText="修改" Text="编辑"/>
Gridview中的HyperLinkField就没有Enabled这个属性?郁闷
itliyi 2010-05-27
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 mmm306306 的回复:]

HTML code


<asp:HyperLink ID="HyperLink1" runat="server" Enabled='<%# Convert.ToBoolean(Eval(".....")) %>'>HyperLink</asp:HyperLink>
[/Quote]
马老虎 2010-05-27
  • 打赏
  • 举报
回复


<asp:HyperLink ID="HyperLink1" runat="server" Enabled='<%# Convert.ToBoolean(Eval(".....")) %>'>HyperLink</asp:HyperLink>

mohugomohu 2010-05-27
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 liao520long 的回复:]

enable='<%# eval("xxx")%>' 这样不行吗?
[/Quote]good
老牛10岁了 2010-05-27
  • 打赏
  • 举报
回复
enable='<%# eval("xxx")%>' 这样不行吗?
老牛10岁了 2010-05-27
  • 打赏
  • 举报
回复
看错了。其实不用那么麻烦。。直接在En属性里绑定就可以了吧。
老牛10岁了 2010-05-27
  • 打赏
  • 举报
回复
其实不难。。你这样吧。 在后台绑定一个方法。带入的参数是bool值。然后返回bool值。。就是带入绑定的数据。。比如带入的是false 。那你就是说让控件不可以操作的话,那在页面控件里面有个En开头的属性。绑定这个方法。。这样的话就可以根据你绑定的数据来控制这个控件了!
最帅的小猪 2010-05-27
  • 打赏
  • 举报
回复
能详细点吗?应该怎么写?
pgameli 2010-05-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 pgameli 的回复:]

Gridview的HyperLinkField操作
C# code

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
……
[/Quote]
把该列的链接设置为空字符串就可以
pgameli 2010-05-27
  • 打赏
  • 举报
回复
Gridview的HyperLinkField操作

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
HyperLink hl = (HyperLink)e.Row.Cells[0].Controls[0];
if (hl.Text.Length > 20)
{
hl.Text = hl.Text.Substring(0, 19) + "...";
}
}
}
masterGr 2010-05-27
  • 打赏
  • 举报
回复
在databound事件里判断 设置enable
沈勇 2010-05-27
  • 打赏
  • 举报
回复
在行绑定事件里面驱去实现,动态绑定

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧