请问如何将数据库中的值绑定到Repeater控件中的CheckBox上?

Kimmy914 2013-06-25 12:50:55
我想要实现这样一个功能,首先是有一个repeater控件,绑定的数据源是数据库中的一个查询结果集,然后这个repeater控件中的一列是由3个CheckBox组成的,分别是“类型A”,“类型B”,“类型C”,数据源中也有一个字段,字段内容就是这3种(可多选),现在想要达到的效果就是在绑定数据的时候,根据表中字段的内容控制这3个CheckBox的选中状态。

例如,第一行记录中,字段内容是“类型A”和“类型C”,那么前端显示的时候,类型A和类型C的checkBox就是选中状态,第二行记录如果是“类型A”和“类型B”,那么就是类型A和类型B的CheckBox被选中,第三行如果只有“类型C”,那么就仅仅是类型C的CheckBox被选中。

之后操作者可以修改这3个CheckBox的选中状态,再点提交按钮,将数据库中的字段修改为操作之后的结果。

请问这样的一个功能应该以怎样的方法去实现呢?
...全文
637 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
351468318 2014-09-01
  • 打赏
  • 举报
回复
引用 6 楼 wjqqonline 的回复:
额 我错了 , 你的那个字段可能同时保存A,B,C中的一个或多个 所以我上述回答中==判断是不行的,要用Contains()判断 即 第1个 <asp:CheckBox runat="server" Checked="<%# eval("类型字段").ToString().Contains("A")?"True":"False" %>"/> 第2个 <asp:CheckBox runat="server" Checked="<%# eval("类型字段").ToString().Contains("B")?"True":"False" %>"/> 第3个 <asp:CheckBox runat="server" Checked="<%# eval("类型字段").ToString().Contains("C")?"True":"False" %>"/>
这样不行,checkbox只能绑定bool类型的值。你这个不对。
Kimmy914 2013-06-26
  • 打赏
  • 举报
回复
引用 7 楼 insus 的回复:
Refer this: http://www.cnblogs.com/insus/archive/2013/04/23/3035447.html
您好,研究了您给出的示例代码,受益良多。 但我需要实现的功能和您例子中所指示的还有一些小小的不同,因此希望还可以向您请教一些本人不解的地方,由于未能互相关注,所以无法发送私信,只得在此留言,希望您看到之后可以联系一下我,我的QQ号码是57590813,如果不方便使用QQ,也可以关注我之后私信联系,非常感谢!
insus 2013-06-25
  • 打赏
  • 举报
回复
_沫尘 2013-06-25
  • 打赏
  • 举报
回复
额 我错了 , 你的那个字段可能同时保存A,B,C中的一个或多个 所以我上述回答中==判断是不行的,要用Contains()判断 即 第1个 <asp:CheckBox runat="server" Checked="<%# eval("类型字段").ToString().Contains("A")?"True":"False" %>"/> 第2个 <asp:CheckBox runat="server" Checked="<%# eval("类型字段").ToString().Contains("B")?"True":"False" %>"/> 第3个 <asp:CheckBox runat="server" Checked="<%# eval("类型字段").ToString().Contains("C")?"True":"False" %>"/>
still_melody 2013-06-25
  • 打赏
  • 举报
回复
可以再数据源上想办法 select case when charindex(filed1,"A")>0 then 1 else 0 end as typeA, case when charindex(filed1,"B")>0 then 1 else 0 end as typeB, case when charindex(filed1,"C")>0 then 1 else 0 end as typeC from table 这样数据源就跟页面上的控件对应上了, 在想办法当等于1时控件选中 这个不难吧
_沫尘 2013-06-25
  • 打赏
  • 举报
回复
引用 楼主 Kimmy914 的回复:
我想要实现这样一个功能,首先是有一个repeater控件,绑定的数据源是数据库中的一个查询结果集,然后这个repeater控件中的一列是由3个CheckBox组成的,分别是“类型A”,“类型B”,“类型C”,数据源中也有一个字段,字段内容就是这3种(可多选),现在想要达到的效果就是在绑定数据的时候,根据表中字段的内容控制这3个CheckBox的选中状态。 例如,第一行记录中,字段内容是“类型A”和“类型C”,那么前端显示的时候,类型A和类型C的checkBox就是选中状态,第二行记录如果是“类型A”和“类型B”,那么就是类型A和类型B的CheckBox被选中,第三行如果只有“类型C”,那么就仅仅是类型C的CheckBox被选中。 之后操作者可以修改这3个CheckBox的选中状态,再点提交按钮,将数据库中的字段修改为操作之后的结果。 请问这样的一个功能应该以怎样的方法去实现呢?
第1个 <asp:CheckBox runat="server" Checked="<%# eval("类型字段").ToString()=="A"?"True":"False" %>"/> 第2个 <asp:CheckBox runat="server" Checked="<%# eval("类型字段").ToString()=="B"?"True":"False" %>"/> 第3个 <asp:CheckBox runat="server" Checked="<%# eval("类型字段").ToString()=="C"?"True":"False" %>"/>
_沫尘 2013-06-25
  • 打赏
  • 举报
回复
<asp:CheckBox runat="server" Checked="<%# eval("类型字段").ToString()=="A"?"True":"False" %>"/>
csl_1022 2013-06-25
  • 打赏
  • 举报
回复
可以用字段来判断啊 比如:一个int类型的字段,两种状态,选中为1,不选为0. 从数据库取出来你判断下不就行了
Kimmy914 2013-06-25
  • 打赏
  • 举报
回复
顶起来一下下

62,046

社区成员

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

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

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

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