kmdm kmmc
----------------------- -------------
1001 库存现金
1002 银行存款
100201 建行
100202 美元存款经常户
100203 工行
1012 其他货币资金
101207 保函押金
10120701 建行永定路支行
10120702 浦发银行永定路支行
1013 备用金
101301 经理办公室
101302 综合计划处
101303 财务处根据上面的数据结构(数据结构不能改变),构造一个TreeView 不可以根据KMDM为4位就确认为根节点,1001可是为101,同样他的下级可以为100101或者为1001001这么说吧, 每个级别的代码长度不确定,也就是说一级有可能是4位,也有可能是3位
同样二级有可能是2位也有可能是3位, 但整个表中的记录是统一的。注数据结构不能改变
该如何做呀,最好有个例子参考一下。
----------------------- -------------
1001 库存现金
1002 银行存款
100201 建行
100202 美元存款经常户
100203 工行
1012 其他货币资金
101207 保函押金
10120701 建行永定路支行
10120702 浦发银行永定路支行
1013 备用金
101301 经理办公室
101302 综合计划处
101303 财务处根据上面的数据结构(数据结构不能改变),构造一个TreeView 不可以根据KMDM为4位就确认为根节点,1001可是为101,同样他的下级可以为100101或者为1001001这么说吧, 每个级别的代码长度不确定,也就是说一级有可能是4位,也有可能是3位
同样二级有可能是2位也有可能是3位, 但整个表中的记录是统一的。注数据结构不能改变
该如何做呀,最好有个例子参考一下。
解决方案 »
- 诚心求教 WebClient 使用问题
- C/S的Winform程序如何从服务端向客户端发送消息
- 数据用dephi写的DES加密,现在用C#解密需要初始向量。怎么办?
- 新手,请写出 继承 ,重写,多态的例子好吗?简单点
- 如何对DataGrid列进行左右拖拉 以调整宽度?
- 禁止IE中的弹出广告
- 怎么用两台adsl上网的机器实现B/S的软件?
- 谁实现过IEditableObject 接口
- 谢谢!!因为我想动态地在一个空白的form上添加1个label,1个txtbox,请问:不用控件用代码怎么实现?
- 请问C#运行于什么平台?Win98?Win2000......
- 如何得到网页对于屏幕的位置?
- 使用SendMessage传送字符串
你说的这个可以用sql函数来做!!!
ALTER function dbo.F_ContactAllParentRoleIDByRoleID
(
@RoleID int --参数
)
returns int
as
begindeclare @ParentRoleID int --变量父ID
declare @Place int --变量Place
set @Place=0
/*set @Place = '' */
--首先根据传入的ClassID获取其父ID,ParentClassID
SELECT @ParentRoleID = ParentRoleID FROM RolePaternity_Table
where RoleID = @RoleID
/*
因此下面实现SQL函数的递归 ,注意看
*/
if (@ParentRoleID <> 0)--如果不是根节点
begin
-- 再将@ParentClassID父ID作为ClassID传入 进行自调用
set @Place = dbo.F_ContactAllParentPlaceByClassID(@ParentRoleID)+@ParentRoleID
end
return @Place
end你的修改!!!
同样二级有可能是2位也有可能是3位, --------------------------------------------------------------
这样定义表也是无语了 ,数据库的数据编码格式也是很重要的,至少可以在编程的时候少要处理很多逻辑根节点也不统一,我只能先说递归遍历