ASP.NET1.1中动态树的实现
日志文章
ASP.NET1.1中动态树的实现
标签:
数据库
网站
因为ASP.NET1.1没有像ASP.NET2.0那样默认提供TreeView控件,所以ASP.NET1.1中实现动态树就不像ASP.NET2.0中那样简单了,但是也并没有复杂多少,只是多了点步骤而已。下面就让我们分三步来在ASP.NET1.1中建立一个组织机构的动态树显示。
首先我们需要下载一个Microsoft提供的WebControls控件。(关于该控件的详细介绍,请看TreeView使用集锦)
9Qkb2o&%N
@[Lu-Tr
其次我们需要在数据库中建立一个组织机构的表来存储数据。创建数据表的代码如下:
gF^M96
?a#IQKw<M
SkKy9qy!(1
\"1/Sj9
-- Create table
<KG b<
B}4Rzj}x
create table ORGANIZATION --组织机构
='j+6G#C
e)SHu/\I
(
-^A&4
N
?+OOCdb
ORG_ID NUMBER(20) not null, --组织编号
m Y[L
lp>51
ORG_NAME VARCHAR2(40) not null,--组织名称
O~h_9
E~,-}KM
PARENT_ORG_ID NUMBER(20),--上级编号
)F`q>GJ;
W WyHfmU3
LAYER NUMBER(5) --组织层次
vg `o%r[
PP#,F-i!T
);
KwyPxJRw
?\[b@$@
最后,就需要我们在ASP.NET页面后台类中动态加载ORGANIZATION表的数据,完成组织机构的显示。其核心代码如下:
b#.u~
kr!F%$q
/,($
l9
j<l5qB '
private void Page_Load(object sender, System.EventArgs e)
FK/4sG
d
tJz<9?)
{
FE
O
!
8b#_gZjh;
if(!Page.IsPostBack)
g|I7QD
lJI8CN7WG
{
2ZV{EE'
+!FieJERA
try
C`M6/7sPP
/ie=@E\4G
{
jj!-/A
NI\@ `K
//得到数据表中的所有记录
VuWaP]4l
9?~{6dT
selectString = "select * from organization order by layer";
>n]]Iu7
0RwU wseH^
_ds = _dbControl.GetDataNoPaging(selectString);
*KG%so0'X
@{i
:i2P7
addNodes(this.TreeView1.Nodes, 0) ;//调用方法,绑定顶层结点
%%0TyO>w
HDMj)\b=
}
[dtpS|X]p_
ZQqYN{2qs
catch(Exception ex)
;0`Tk[.E
)Zw[z5x|r
{
CF@frah
p'mh\7a#
//如果有错 输出信息
l-ac `:
*L Ig
Response.Write(ex.ToString());
~f*JDRc
&*PTIz|
}
;=p/A BJj
y)%186e
}
yeJB(x
A =g6ga
}
R1e}Mj=
`k5E/4BP&/
private void addNodes(TreeNodeCollection collection, int parentNodeID )
}21{iK<$
k? S 3L
{
wHPr-uPr6
Fgn$p@k_J
DataRow[] rows = _ds.Tables[0].Select("parent_org_id=" + parentNodeID );//查找当前结点的所有子结点
.k> 8 /
M}^L=NB
foreach(DataRow row in rows )
TlvBo<*
rmv>+A
{
3g9x_t;
~Bq2
W-8OC
//新建一个临时结点
_3`P@ebz
u!?Wn}:G"
TreeNode node = new TreeNode();
x@W;
"L97RY"3Ik
node.ID = row["org_id"].ToString();
A:1e@^l
y
f~k5=v]Kd
node.Text = row["org_name"].ToString();
|Tt&Vrn7K
91yEZ.1
node.Expanded = true;//默认为展开
Vx\_Q5?sw
F3sNQ)L'W
//迭代调用自身 加入当前结点的子结点
x"s@SiIIN
:kFv^!uL
addNodes(node.Nodes, int.Parse(row["org_id"].ToString()));
mAae^FR]7
]zP:i*_
collection.Add(node);//加入到结点集合中
FEU#u|I
-\ .2
}
lzD[k]d1|I
X?j[><
}//addNodes 本文归郑州网站建设,版权所有,转摘请注明出处.
KAa0H|
|TW|%`T
郑州网站建设,郑州网站制作 - 实战网络营销公司 - 网易博客:
Hwqc9iY#
@xRkqbB
个人分类:
|
|
|
上一篇:郑州网站制作-浅述中小型企业网站设计思路及要点
发表评论
评论啦