C#中的接口的作用和它一般的用法
1个回答
展开全部
错了吧?应该是treeview吧?树形导航控件。
适合用在树结构的地方,数结构的特点就是每个节点可以有(0-多)个子节点,和(0-1)个父节点。旧版本的treeview只有一个根节点,根节点有0个父节点,而新版本的treeview还允许多根。
适合的地方很多,比如网站的栏目和子栏目;公司的部门和子部门;很多的分类,比如图书、体育项目……
具体用法中的难点就在于递归,当创建和查询节点的时候往往都会用到。其节点treenode中就有nodws对象,类型就是treenode的集合。比如添加节点可以这样写:
treeview
tv
=
new
treeview();
void
addnodes(
treenode
tn
)
{
int
id
=
0;
if(
tn
!=
null
)
{
//取到tn的值。
}
list
mlist
=
getdata(
id
);//利用该值找到其分支节点的数据。mlist用来暂存数据。
if(
mlist
!=
null
)
{
foreach(
model
m
in
mlist
)
{
treenode
tmp
=
new
treeview();
//将m的值赋给tmp。
if(
tv.nodes
==
null
)
{
tv.nodes.add(
tmp
);//添加根节点。
}
else
{
tn.nodes.add(
tmp
);//添加子节点。
}
addnodes(
tmp
);//给字节点添加子节点。
}
}
}
适合用在树结构的地方,数结构的特点就是每个节点可以有(0-多)个子节点,和(0-1)个父节点。旧版本的treeview只有一个根节点,根节点有0个父节点,而新版本的treeview还允许多根。
适合的地方很多,比如网站的栏目和子栏目;公司的部门和子部门;很多的分类,比如图书、体育项目……
具体用法中的难点就在于递归,当创建和查询节点的时候往往都会用到。其节点treenode中就有nodws对象,类型就是treenode的集合。比如添加节点可以这样写:
treeview
tv
=
new
treeview();
void
addnodes(
treenode
tn
)
{
int
id
=
0;
if(
tn
!=
null
)
{
//取到tn的值。
}
list
mlist
=
getdata(
id
);//利用该值找到其分支节点的数据。mlist用来暂存数据。
if(
mlist
!=
null
)
{
foreach(
model
m
in
mlist
)
{
treenode
tmp
=
new
treeview();
//将m的值赋给tmp。
if(
tv.nodes
==
null
)
{
tv.nodes.add(
tmp
);//添加根节点。
}
else
{
tn.nodes.add(
tmp
);//添加子节点。
}
addnodes(
tmp
);//给字节点添加子节点。
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询