| pb中的树型控件treeview的使用- - //设置根节点
 ltvi_r_node.label = "统计报表"
 ltvi_r_node.pictureindex = 1
 ltvi_r_node.selectedpictureindex = 1
 ltvi_r_node.children = true
 //插入根节点,返回根节点句柄
 ll_root = tab_1.tabpage_1.tv_1.insertitemlast(0, ltvi_r_node)
 //设置子节点
 ltvi_j_node.label="季报"
 ltvi_j_node.statepictureindex=2
 //在根节点下插入子节点,ll_root根节点句柄
 ll_lev_j=tab_1.tabpage_1.tv_1.insertitemlast(ll_root,ltvi_j_node)
 //在一级子节点下再插入新的子节点
 for i=1 to upperbound(j_m)
 ltvi_j_node.label=j_m
 //.data可以放置any类型,并返回any类型,需要进行转换
 ltvi_j_node.data=trim("2")
 //插入二级子节点
 l_lev1=tab_1.tabpage_1.tv_1.insertitemlast(ll_lev_j,ltvi_j_node)
 //循环的加入
 for j=1 to dw_5.rowcount()
 ltvi_n_node.label=trim(dw_5.object.ora031[j])
 ltvi_n_node.data=trim(dw_5.object.ora030[j])
 l_lev2=tab_1.tabpage_1.tv_1.insertitemlast(l_lev1,ltvi_n_node)
 next
 next
 
 long tv_handle,lds_obj,ll_row,parent_handle
 treeviewitem tv_new_item,tv_it2
 //得到当前节点的句柄
 tv_handle=tv_1.finditem(currenttreeitem!,0)
 //通过该节点的句柄,获得该节点的信息item
 getitem(handle,tv_new_item)
 //item的级别.level
 if tv_new_item.level=4 then
 //得到当前节点的夫节点,
 parent_handle=this.finditem(parenttreeitem!, handle)
 getitem(parent_handle,tv_it2)
 //得到item里的data数据,记得要进行类型转换
 bbbh=string(tv_new_item.data)
 end if
 
 treeview控件的属性:
 picture:在picture name中加入四个不同的图标,用于代表树视图中的两个层次(一、二级)、两种状态(未选、选中)。
 delete items:运行中是否允许删除表项。
 disable pragdrog: 运行中是否允许拖放表项。
 edit labels: 运行中是否允许单击表项来改变表项的标题。
 show buttons:是否在表项放显示+-按钮,有示相对的扩展和收缩。
 hide selection:当该控件失去焦点时,选中项是否以高亮度显示。
 show line:表项间是否加一竖线。
 lines at root:所有根层表项是否用竖线连接。
 indentation:子表项相对于父表项的向右缩进度。
 item的主要属性:
 label:string 型,树视图项的显示信息。
 data:any型,树视图项的内部值。
 level:integer型,树视图项在树视图中级别。
 children:boolean 型,它决定该项是否有下一层(如图中书名)。
 pictureindex:integer 型,该项非选中时所用的图标在图标队列中的编号。
 selectedpictureindex:integer型,该项选中时所用的图标在图标队列中的编号。
 生成treeviewitem项用到的函数:
 insertitemfirst():将加入项作为第一项
 insertitemlast():将加入项作为最后一项
 insertitem():将加入项插入到指定项的后面
 insertitemsort():按顺序放置。
 |