还是gridview 里checkbox操作的问题

xupeihuagudulei 2009-07-24 11:11:19
由于前面一篇帖子问题还没搞清楚。
所以再来问问
http://topic.csdn.net/u/20090723/14/150fdc5f-f289-44d4-a4b8-96fdcff16af8.html

就是想实现上面那个图的功能,
点那个dropdownlist选择不同的角色。
然而下面那个gridview里license字段的打勾或者不打勾是根据用户角色来的。
如果这个用户有权限呢,就打上,没有的话就不打。
请问下如何实现啊?
不知道在后台如何操控打勾不打勾的问题。。。。。
...全文
742 126 打赏 收藏 转发到动态 举报
写回复
用AI写文章
126 条回复
切换为时间正序
请发表友善的回复…
发表回复
xupeihuagudulei 2009-07-28
  • 打赏
  • 举报
回复
你能不能帮我用这个方法给我个例子看看。。
先把权限读到datatable里。 然后根据当前行的id 遍历权限 true 就让checibox 选中
xupeihuagudulei 2009-07-28
  • 打赏
  • 举报
回复
你这方法我看的很晕。
gridview刚开始的时候取数据是select Powername,PowerUrl from powerinfo 里面取出来的,
没有 license这个字段,
而你上面那个checkbox绑定了License,
这样会报错的。



xupeihuagudulei 2009-07-28
  • 打赏
  • 举报
回复
[Quote=引用 89 楼 sandy945 的回复:]
引用 86 楼 xupeihuagudulei 的回复:
引用 73 楼 xupeihuagudulei 的回复:
onclick="this.parentNode.children[1].value=!this.checked;" 这句话什么意思?
还有这个Checked='  <%#bool.Parse(Eval("License").ToString())我想要的就是默认不管数据库里license是否打上勾,但是默认girdview是不打勾的,就是当上面那个dropdownlist角色改变之后再根据那个角色有这个权限的话再打上勾。。


onclick="this.parentNode.children[1].value=!this.checked;"
这句话里面的this.parentnode.cildren[1].value什么意思?


这句话是 写在 checkbox 的 onclick 事件中的,
gridview 生成的html 代码 可能是这样的
<table> <tr> <td>PowerName </td> <td>PowerUrl </td> <td> <input type="checkbox" /> <hidden /> <hidden /> </td>
this 表示当前的checkbox, this.parentNode 表示checkbox所在的td ,所在的td 有三个children
this.parentNode.children[1].value=!this.checked; 就是设置 第2个children 的值 为checkbox的选择状态取反
和下面这句是相关联的

if (ckb.Checked.ToString() != hid.Value)

标示 当前的权限 是否 是改动的,如果改动 就进行数据库操作 反之则不


[/Quote]
噢,明白了,等于是操作客户端了。。
阿非 2009-07-28
  • 打赏
  • 举报
回复
[Quote=引用 86 楼 xupeihuagudulei 的回复:]
引用 73 楼 xupeihuagudulei 的回复:
onclick="this.parentNode.children[1].value=!this.checked;" 这句话什么意思?
还有这个Checked=' <%#bool.Parse(Eval("License").ToString())我想要的就是默认不管数据库里license是否打上勾,但是默认girdview是不打勾的,就是当上面那个dropdownlist角色改变之后再根据那个角色有这个权限的话再打上勾。。


onclick="this.parentNode.children[1].value=!this.checked;"
这句话里面的this.parentnode.cildren[1].value什么意思?

[/Quote]
这句话是 写在 checkbox 的 onclick 事件中的,
gridview 生成的html 代码 可能是这样的
<table><tr><td>PowerName</td><td>PowerUrl</td><td><input type="checkbox" /><hidden /><hidden /></td>
this 表示当前的checkbox, this.parentNode 表示checkbox所在的td ,所在的td 有三个children
this.parentNode.children[1].value=!this.checked; 就是设置 第2个children 的值 为checkbox的选择状态取反
和下面这句是相关联的

if (ckb.Checked.ToString() != hid.Value)

标示 当前的权限 是否 是改动的,如果改动 就进行数据库操作 反之则不

xupeihuagudulei 2009-07-28
  • 打赏
  • 举报
回复
网上大概看了下
parentNode.children
好像是 treeview里的属性,可是这里面都没用到这个控件。。。。
写这句话是什么意思呢?
CloudOfFly 2009-07-28
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 jasondct 的回复:]
这个代码太多, 其实 不复杂 ,先把权限读到datatable里。 然后根据当前行的id 遍历权限 true 就让checibox 选中
[/Quote]

支持这个
xupeihuagudulei 2009-07-28
  • 打赏
  • 举报
回复
[Quote=引用 73 楼 xupeihuagudulei 的回复:]
onclick="this.parentNode.children[1].value=!this.checked;" 这句话什么意思?
还有这个Checked=' <%#bool.Parse(Eval("License").ToString())我想要的就是默认不管数据库里license是否打上勾,但是默认girdview是不打勾的,就是当上面那个dropdownlist角色改变之后再根据那个角色有这个权限的话再打上勾。。

[/Quote]
onclick="this.parentNode.children[1].value=!this.checked;"
这句话里面的this.parentnode.cildren[1].value什么意思?
xupeihuagudulei 2009-07-28
  • 打赏
  • 举报
回复
现在要帮别人装驱动,郁闷,
先弄好那个再来看。。
xupeihuagudulei 2009-07-28
  • 打赏
  • 举报
回复
[Quote=引用 83 楼 sandy945 的回复:]
你的数据库是mdb 文件是么
[/Quote]
是。
access2003的
阿非 2009-07-28
  • 打赏
  • 举报
回复
你的数据库是mdb 文件是么
xupeihuagudulei 2009-07-28
  • 打赏
  • 举报
回复
我用的是sqldatasource
用这个也可以去操作access数据库的
前面一些功能都是access数据库而用的是sqldatasource的
xupeihuagudulei 2009-07-28
  • 打赏
  • 举报
回复
[Quote=引用 73 楼 xupeihuagudulei 的回复:]
onclick="this.parentNode.children[1].value=!this.checked;" 这句话什么意思?
还有这个Checked=' <%#bool.Parse(Eval("License").ToString())我想要的就是默认不管数据库里license是否打上勾,但是默认girdview是不打勾的,就是当上面那个dropdownlist角色改变之后再根据那个角色有这个权限的话再打上勾。。

[/Quote]
你那个checkbox这句话Checked=' <%#bool.Parse(Eval("License").ToString())写了好像不对
因为像你给我的那个从数据库里取出来的代码是这样的。
select powerid,powername,powerUrl from powerinfo 这个代码是放在sqldatasource的selectcommand属性里的。
而license是在rolepower表里的,
按照这样写的话岂不是那个 gridview里的数据是从powerinfo和rolepower两张表里取出来的?????
阿非 2009-07-28
  • 打赏
  • 举报
回复
你用的accessdatasource 还是 sqldatasource
xupeihuagudulei 2009-07-28
  • 打赏
  • 举报
回复
好,我看看。
xupeihuagudulei 2009-07-28
  • 打赏
  • 举报
回复
就是那个角色dropdownlist还有grdiview都是用sqldatasource绑定。。
好像和你弄的有些不一样噢,
看到你72,73楼的代码,感动啊
。。。还专门做个代码演示了一遍,
我。。。
阿非 2009-07-28
  • 打赏
  • 举报
回复
[Quote=引用 75 楼 xupeihuagudulei 的回复:]
我里面一些数据绑定都是用sqldatasource的

[/Quote]
原理是一样的,可能有些具体细节 稍微有些差别
阿非 2009-07-28
  • 打赏
  • 举报
回复
你先运行 一下 看看效果,然后 看看代码 不明白的地方可以断点调试 ,这样 看会了掌握了 就是你自己的了
xupeihuagudulei 2009-07-28
  • 打赏
  • 举报
回复
我里面一些数据绑定都是用sqldatasource的
阿非 2009-07-28
  • 打赏
  • 举报
回复
[Quote=引用 70 楼 xupeihuagudulei 的回复:]
哎,看来看去,
看到那86楼的好像和自己想像中的有些像了,
感觉可以做了
可是动起手来就不知道怎么下手了
不知道sandy945原来刚学的时候有没有这样的痛苦啊
这感觉真不舒服 。。

[/Quote]
都是会有这样的阶段的~ 克服困难往前行
xupeihuagudulei 2009-07-28
  • 打赏
  • 举报
回复
onclick="this.parentNode.children[1].value=!this.checked;" 这句话什么意思?
还有这个Checked='<%#bool.Parse(Eval("License").ToString())我想要的就是默认不管数据库里license是否打上勾,但是默认girdview是不打勾的,就是当上面那个dropdownlist角色改变之后再根据那个角色有这个权限的话再打上勾。。
加载更多回复(105)

62,075

社区成员

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

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

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

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