zoukankan
html css js c++ java
asp.net无限级分类递归实现方法二
public
DataTable GetTable()
{
DataTable tb
=
new
DataTable();
tb.Columns.Add(
"
bianhao
"
, Type.GetType(
"
System.String
"
));
tb.Columns.Add(
"
name
"
, Type.GetType(
"
System.String
"
));
tb.Columns.Add(
"
trainingType
"
, Type.GetType(
"
System.String
"
));
//
Level,指定层级,加入新row时根据其上层row加一
tb.Columns.Add(
"
Level
"
, Type.GetType(
"
System.Int32
"
));
DataRow row;
DataTable tbs
=
this
.GetClass(
""
);
//
先将顶级菜单放入tb
DataRow[] TopRows
=
tbs.Select(
"
parentType = 'root'
"
);
for
(
int
i
=
0
; i
<
TopRows.Length; i
++
)
{
row
=
tb.NewRow();
row[
0
]
=
TopRows[i][
"
bianhao
"
].ToString();
row[
1
]
=
TopRows[i][
"
name
"
].ToString();
row[
2
]
=
TopRows[i][
"
trainingType
"
].ToString();
row[
3
]
=
0
;
//
0为第一级
tb.Rows.Add(row);
}
DataRow[] rows;
for
(
int
i
=
0
; i
<
tb.Rows.Count; i
++
)
//
tb.Rows.Count这个数字也是不断的在增大的,因为不断的插入新行
{
//
tb进行循环
string
strSpace
=
""
;
for
(
int
j
=
0
; j
<
Convert.ToInt32(tb.Rows[i][
3
]); j
++
)
{
//
循环嵌套对刚才的 这个循环什么作用?wjy905
strSpace
+=
"
"
;
}
rows
=
tbs.Select(
"
parentType=
"
+
"
'
"
+
tb.Rows[i][
"
bianhao
"
].ToString()
+
"
'
"
);
//
父类名称为此行的id
for
(
int
j
=
rows.Length
-
1
; j
>=
0
; j
--
)
//
倒循环,结果可以正序
{
//
对刚才的嵌套循环
row
=
tb.NewRow();
row[
0
]
=
rows[j][
"
bianhao
"
].ToString();
row[
1
]
=
strSpace
+
"
--
"
+
rows[j][
"
name
"
].ToString();
row[
2
]
=
rows[j][
"
trainingType
"
].ToString();
row[
3
]
=
Convert.ToInt32(tb.Rows[i][
3
])
+
1
;
tb.Rows.InsertAt(row, i
+
1
);
}
}
return
tb;
}
查看全文
相关阅读:
Cordova+angularjs+ionic+vs2015开发(四)
Cordova+angularjs+ionic+vs2015开发(三)
Cordova+angularjs+ionic+vs2015开发(二)
Cordova+angularjs+ionic+vs2015开发(一)
VS2015+AngularJS+Ionic开发
angularjs开发总结
ionic+cordova+angularJs监听刷新
VIN码识别/车架号OCR识别:快速占领汽车后市场数据入口
说一说VIN码识别,车架号识别那些事
汽车VIN码,车架号,移动端,服务器端OCR识别 技术公司
原文地址:https://www.cnblogs.com/wucf2004/p/770040.html
最新文章
贴片电容封装及尺寸示意图
钽电容封装大全及技术参数
PCB layout注意事项
altium designer使用小技巧,记录
IPEX-1代/3代/4代/5代,PCB天线底座,公头,样式及封装尺寸图
将书法字体制作成pcb库文件,并使用该字体作为logo印制在自己设计的电路板上。
Altium Designer中如何批量修改元器件封装?
ArcGIS生成根据点图层生成等值面并减小栅格锯齿的操作步骤(转)
ArcGIS Pro 60天许可申请与试用
(转) 如何在Excel和Word文档中插入GIF动画
热门文章
Winserver 2012 R2 安装VS2015报错解决办法
开源的GIS软件清单
ArcGIS for Javascript API 3.16本地部署
(转)Windows Server 2012 R2桌面化详细设置图解
(转)ArcGIS Server10.1地图服务属性概述
ArcGIS之通过Model Builder执行地理处理
地图分幅概述
SignalR 2.0 系列:SignalR的服务器广播
消息推送SignalR
Cordova+angularjs+ionic+vs2015开发(五)
Copyright © 2011-2022 走看看