首页 > 代码库 > 树形结构应用

树形结构应用

一切具有集合特性的事物都可以抽象成树形结构,例如表格是一个具有行集合与列集合的大集合,其实现方式也可以用树形结构来表示。

SNMP简单网络管理协议的mib就是一棵层级树,它定义了用oid.0访问的普通叶子节点和用列节点oid.(行)index访问的表格节点,表节点名称通常用Table作为后缀,表节点下的列集合节点名称通常用Entry作为后缀,而列节点名称则各不相同,不过也有些专有后缀比如RowStatus。SNMP是如何用树形结构来表示表格的呢?其实它就是通过给列节点下的元素设置index索引的方式来实现的。比如表节点A下有列集合节点B,列集合节点下有列节点C1、C2,这样表格A就具有C1、C2两列,由于mib是树形结构,所以“行节点”必须作为列节点的子节点,每个列节点下的“行节点”都可以用一个特殊的index属性来表示当前节点处在表格中的第几行,这样通过“列节点oid.行索引”的方式就可以定位每一个表节点。

Asp.Net中GridView是一个比较常用的控件,其对象构造方式和SNMP表节点有点类似,GridView类型对象中包含了Columns类型对象,顾名思义,Columns类型对象就是列集合对象,Columns中每一个BoundField绑定字段则是每一个列对象。每一个列对象中其实绑定了该列所有的元素,列中的每个元素都是列对象的直接子节点,列对象中的每个元素都具有“行索引”,通过列绑定和设置“行索引”的方式,Asp.Net完成了GridView表格视图数据绑定操作,之后再渲染生成我们所看到的Table形式的Html内容。

树形结构应用