问题描述
本人初学,刚写个小程式,在写到用户管理模块,想用TREEVIEW来给用户授权比较直观,可怎样把checkbox为勾选的treeview的NODE保存到数据库?包括爷节点,父节点以及子节点都需要保存。根据这个权限也可以查询用户拥有哪些权限,项目加载也根据这个权限表来。权限表,设计是这样,不知道对不对呢?用户模组模块新增删除修改列印查询aaMTprosa00hVVVVV
解决方案
解决方案二:
爷节点是什么玩意,还有太爷节点?你说的是根节点吧遍历一下呗你treeview怎么生成的,把这个过程反过来,递归查找
解决方案三:
你要的是这个表结构都给你了。结贴
解决方案四:
回复:Z65443344是根节点。treeview的生成是在网上抄别人,我都没搞明白。所以我也反不过来,能反过来了,我就不会发这个贴了。
解决方案五:
引用2楼wyd1520的回复:
你要的是这个表结构都给你了。结贴
表结构给我了,我不懂实现呢,大哥。怎么遍历了一个根节点有权限就写表?我写的代码无法区分上下根节点。我实在是太菜鸟了,所以怎么也搞不定呢。
解决方案六:
引用4楼Rain2006的回复:
Quote: 引用2楼wyd1520的回复:
你要的是这个表结构都给你了。结贴表结构给我了,我不懂实现呢,大哥。怎么遍历了一个根节点有权限就写表?我写的代码无法区分上下根节点。我实在是太菜鸟了,所以怎么也搞不定呢。
你只要用递归方式就能编历所有的节点了。不管是不是根节点treeView.Nodes就是他所有的根节点都在这。
解决方案七:
遍历所有NODE,checked为true写表,false删除
解决方案八:
表结构给我了,我不懂实现呢,大哥。怎么遍历了一个根节点有权限就写表?我写的代码无法区分上下根节点。我实在是太菜鸟了,所以怎么也搞不定呢。
你只要用递归方式就能编历所有的节点了。不管是不是根节点treeView.Nodes就是他所有的根节点都在这。
privatevoidGetTreeViewNodeChecked(TreeViewtreev){//所有的根节点foreach(TreeNodeitemintreev.Nodes){GetNodeChecked(item);}}privatevoidGetNodeChecked(TreeNodetv){DataTabledt=newDataTable();boolFld=false;//stringp_men="";//stringp_tab="";stringy="";if(tv.Checked){y=tv.Text;list.Add(y);//TRUEadd}foreach(TreeNodeitemintv.Nodes){GetNodeChecked(item);}}privatevoidbutton1_Click(objectsender,EventArgse){stringp_men="";stringp_tab="";GetTreeViewNodeChecked(treeView1);p_men=list[0];//测试//这里获得所有的选择的项}我的MENU以上测试获得选中项,怎么跟我的权限表关连??遍历出来的数据我存在一个数组里,感觉不是我要的资料,否则写权限表就不对了要怎么改下?
解决方案九:
判断的时候如果父节点没有选中,那么子节点也就不要遍历了,直接删掉数据库中对应的记录就好了。。。
解决方案十:
使用c1flexgrid好方便做这个