Treeview控件在PB中的使用
- 格式:pdf
- 大小:15.27 KB
- 文档页数:1
bmdm bmm c bmord
Tre eVie w 是 PB 中的一个标准控件# 在 Tree Vie w 控件中包含若
干个节点# 其中最上层的节点称为$ 根% 节点# $ 根% 节点的下层节点 称为$ 孩 子 ! Childre n " % 节点& 每个节点可用来存放数据库中的一条 记录的部分内容# 在 Tre e ve w 中称为一个数据项 ! Tree Vie w Item " ,
以 上的 版 本中 都 提供 了 标 准控 件 T reeView# 从 而可 以 比较 方 便快 捷 地生 成 树状 结 构 的数 据 表示 & 针对 这 一点 将 介绍 了 在 PB 中使 用 T reeview 控 件的 方法 和技 巧&
[关 键词] 1 引言
数据 库应 用;Powerbuilder treeview;T reeview 控 件
View Item 中 的 Data 和 Label 属 性 # 而 部门 级 次(bmord)用 来 存放
该 数据 节点 在 Tre e View 中的 层次 & 可 通过自 定义 函 数 F_fill_tv 生 成 Tree Vie w & 该 函数首 先 用 SQ L 语句 提 取数 据库 中 的信 息生 成 datastore # 再 根 据 datas tore 中 的 有 关 信 息生 成 $ 树 % 节 点的 数 据 项 (Tree -
treeviewitemtreeviewitem是一个结构类型的数据其主要属性如下从上表可知data属性和label属性一般存放数据内容data属性的内容不显示用户所看见的是label属性的内容因此要产生一个树的节点的主要工作是先给上述有关属性赋值从而得到一个数据项treeviewitem然后把该数据项加入到treeview某个位置上3treeview中插入数据节点的基本方法pb中把一个数据项加入到treeview中是通过插入数据项函数来实现的可用的函数有4个insertiteminsertitemfirstinsertitemlastinsertitemsort其用法类似以insertitem为例语法结构如下treeviewnameinsertitemhandleparenthandleafteritem该句法中各项含义为treeviewnametreeview控件名称handleparent要插入的节点的父节点句柄handleafter要插入的节点的同一层的前一个节点句柄item存放在treeviewitem中的数据项内容4数据的组织与treeview的生成下面我们来看一个根据学院机构信息得到一个树状结构例子假设某学院机构设置数据如下其中部门级次用来反映部门之间的隶属关系每层用2位数来表示为存储上述机构信息可在数据库中定义一个表tabdwdm其结构如下为生成treeview通常方法是用sql查询语句中提取数据库中有关数据到一个datastore中再依次取出datastore中的记录内容生成treeviewitem信息加到treeview中一般来说需要提供的数据有三项代码名称级次并按级次排序在本例中的sql语句为selectbmdmbmmcbmordfromtabdwdmorderbybmord其中部门代码bmdm部门名称bmmc分别对应于treeviewitem中的data和label属性而部门级次bmord用来存放该数据节点在treeview中的层次可通过自定义函数ffilltv生成treeview该函数首先用sql语句提取数据库中的信息生成datastore再根据datastore中的有关信息生成树节点的数据项treeviewitem并逐项加到树中5treeview生成后的利用treeview控件的主要触发事件是selectionchanged
改变 " # 即 当 选中 Tre e view 中 的 一个 新 的 节 点时 # 通 过 Ge tite m 函 数可 提取 该结 点的 有关 信息 到 tre evie w item 变 量中 # 件 Tree vie w # 可 方 便地 用$ 树% 状结 构 表现 这种 关 系的 数据 &
2 Tre e Vie w 和 Tre eView Ite m
属性 类型
其 中部 门级 次 用来 反映 部 门之 间的 隶 属 关系 # 每层 用 2 位数 来 表示 & 为存 储上 述机 构信 息# 可在 数据 库中 定义 一个 表 ’
Tre evie w Ite m 是一个结构类型的数据# 其主要属性如下’
从 上 表 可 知 # Data 属 性 和 Labe l 属 性 一 般 存 放 数 据 内 容 #
SELECT bm dm ,bmm c,bmord FRO M tab_dw dm BY bmord
ORDER
Data 属 性的 内 容不 显示 # 用 户 所看 见的 是 Labe l 属 性的 内 容& 因
代码 中 # 经 常遇 到 具有 某 种 层次 关 10 1 10 2 10 3 10 4 10 5 10 6 作用 节点 的句 柄 存放用户处理用数用据,不显示 每个 节点 上显 示的 信息 节点 显示 的图 形序 号 节点被选中时显示的图形序号 节 点所 在的 层次 是 否有 孩子 节点
名称 城市学院 办公室 党办 外事 教务处 考试中心
Handle D ata Labe Picture Index Sele ctedPictureInde x Level Childre n
Long
An y
s tring inte ge r inte ge r inte ge r Boole an
tab_dw dm # 其 结构 如下 ’
字段名 (fie ld nam e) 类型 (t ype ) Char VarChar VarChar 宽度 (widt h) 3 40 20 说明 (n ot es ) 部门代码 部门名称 部门级次
应用科技
T reeview 控 件 在 P B
金玉明
中的使用
! 常州 广播 电视 大学 # 江 苏常 州 213001 "
[摘 要 ]
对 于具 有层 次 关系 的数 据 # 用 树型 结构 来 表示 直观 明 了# 在信 息管 理 系统 中为 许 多用 户 所 喜爱 & 在 Powerbuilder5.0
此 # 要 产 生 一个 树 的 节 点的 主 要 工 作是 先 给 上述 有 关 属 性赋 值 # 从 而 得 到 一 个 数 据 项 Tree View Item # 然 后 把 该 数 据 项 加 入 到
其 中 部 门 代码 (bm dm )( 部 门 名 称(bm mc)分 别 对 应 于 Tree -
Tre eVie w 某 个位 置上 & 3 Tre e view 中插 入数 据节点 的基 本方 法 PB 中把 一个 数 据项 加入 到 Tre eVie w 中 是通 过 插入 数 据项 函
数 来 实 现 的 # 可 用 的 函 数 有 4 个 ’ Inse rtItem # Inse rtIte m first #
为 生 成 Tree Vie w # 通 常 方 法 是用 SQ L 查 询语 句 中 提 取数 据 库 中有 关 数据 到一 个 datastore 中# 再依 次取 出 datastore 中 的记 录 内容 # 生成 Tre eVie w Ite m 信息 加到 tre evie w 中 & 一 般来 说需 要 提供 的 数据 有 三项 ’ 代码 ( 名称 ( 级次 # 并 按 级 次排 序& 在 本例 中的 SQL 语 句为 ’
InsertIte mlast # Ins ertIte msort # 其 用 法 类 似 # 以 Inse rtItem 为
例# 语法 结构 如下 ’
view ite m)# 并 逐项 加到 $ 树 % 中& 5 Tre e view 生成 后的 利用 Tre e view 控 件 的 主 要 触 发 事 件 是 Se lec tionChange d ! 选 择
级次 01 010 1 0 101 01 0 101 02 010 2 0 102 01
在管 理 信息 系统 ! MIS 系 统 "
系的 数据 # 如 一个 单位 的部 门# 某产 品的 多级 分类 等等 # 用$ 树% 型结 构 显示 这类 信 息直 观明 了 # 为 许多 用 户 所喜 爱 & 在 面 向对 象 的数 据 库开 发工 具 Pow e rbuilde r ! 简 称 PB "