我有一个部门表,这个表允许无限分级
表
id, parentid, name
1 0 总公司
2 1 行政部
3 1 人事部
4 1 客服部
5 2 行政一组
6 2 行政二祖
7 5 行政一组A部我现在要给一个分配部门
操作员 选择了 2,3,7三个ID,我怎么能够迅速判断出这个操作员即选择了上级部门,又选择了子部门。
表
id, parentid, name
1 0 总公司
2 1 行政部
3 1 人事部
4 1 客服部
5 2 行政一组
6 2 行政二祖
7 5 行政一组A部我现在要给一个分配部门
操作员 选择了 2,3,7三个ID,我怎么能够迅速判断出这个操作员即选择了上级部门,又选择了子部门。
解决方案 »
- 求高手相助:c# 两个查询,分别显示在Label和DataGrid上
- Effective C#: 50 Specific Ways to Improve Your C# 第二版 分享 + 求资料
- jni,vc程序报错。
- HttpRuntime.Cache什么时候会自动被清空?
- 在Winform中如何动态的得到当前系统时间
- 关于NUnit的问题。
- 如何向其它窗体发送一直按着Z+X
- 打包后,access组件不能用的问题
- 急求对repeater的好的分页技术,那位大大能提供一个啊
- windows程序中,怎么打开一个模态窗口?(非web应用)
- C# 查询数据库某个表绑定到下拉框时如何默认初始值
- socket循环接收二进制判断结束的问题
就是部门间有上下级关系, 而且关系链很长, 但是在选择了上级部门后,不允许继续选择下级部门通过parentId判断,所选的有上级节点parentId去找就行了
id, parentid, name
1 0 总公司
12 1 行政部
13 1 人事部
14 1 客服部
125 12 行政一组
126 12 行政二祖
1257 125 行政一组A部这样,操作员选择12,13,1257时,根据编码规则立即可判定1257属于12的间接子节点,是不合法的。
如果不想更改id命名规则的话,我暂时能想到的是在这个表增加一列,将行政部及其所有子节点(直接的或间接地)都用一个标签统一表示,人事部及其子节点用另个一标签表示,不过这种方式肯定有一定的局限性了。