Gridview問題

ybsl97 2009-04-14 12:37:26

<asp:TemplateField HeaderText="Check">
<EditItemTemplate>
<asp:Label ID="Label1" runat="server" Visible="false" Text='<%#DataBinder.Eval (Container.DataItem,"Chek" )%>'></asp:Label>
</EditItemTemplate>
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" Visible= ?/>
</ItemTemplate>
<HeaderStyle Width="1%" Wrap="false" />
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>

我想这个CheckBox的Visible属性和我的DB中的Check属性对应,当Check值为1时,CheckBox不可见,当Check值为0时,CheckBox可见,在前台如何写?
...全文
66 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
辰爸 2009-04-14
  • 打赏
  • 举报
回复
一定要在前台实现吗?在后台你可以这样实现


在GridView的RowDataBound方法中进行判断
if (e.Row.RowType == DataControlRowType.DataRow)

string loginId = gvLoginLog.DataKeys[e.Row.RowIndex].Value.ToString(); //这条字段的ID
LoginLog loginLog = LoginLogManager.GetLoginLogByLoginId(int.Parse(loginId)); //得到数据库中含有Check属性的记录放到实体类里
Checkbox chk = (CheckBox)e.Row.FindControl("CheckBox1"); //找到相应的控件
if(loginLog.Check==1)
{
chk.visible=false;
}



}
给你觉了个简单的例子,大概就是这么个实现过程!!
机器人 2009-04-14
  • 打赏
  • 举报
回复
其他方法:
方法1:在DataTable里加上一列,把0,1转为True,False的字符串
方法2:要么干脆在SQL用Case When把0,1转为True,False了。
方法3:在RowBound事件里判断处理



机器人 2009-04-14
  • 打赏
  • 举报
回复
VB:
Visible='<%#IIF(DataBinder.Eval(Container.DataItem,"Chek")="0","True","False")%>'
zgke 2009-04-14
  • 打赏
  • 举报
回复
后台做不行吗?
尐孑 2009-04-14
  • 打赏
  • 举报
回复
Visible='<%# Convert.ToBoolean(DataBinder.Eval(Container.DataItem,"F_Cabinetmakingtack").ToString()=="1"?"false":"true") %>'
takako_mu 2009-04-14
  • 打赏
  • 举报
回复
没人会,我来接分。
ybsl97 2009-04-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 fangxinggood 的回复:]
VB:
Visible=' <%#IIF(DataBinder.Eval(Container.DataItem,"Chek")="0","True","False")%>'
[/Quote]
有没有C#的呢?VB的不行。

62,267

社区成员

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

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

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

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