快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

使用TreeView实现无限级扩展节点

功能实现要求:

操作环境vb.net和oracle9i

 

由于数据量很大,所以不能利用rs结果集一次读出,在往treeview节点上填充。

需要填充树型节点的字段内数据形式为以\".\"分割

如:01   01.01 01.02 01.01.01 02 02.01 02.01 ............................

利用oracle自身instr函数,可以按\".\"数分割。并返回所需要的结果集,初始化加载读取不带\".\"字段,第一次读取带一个\".\"…………

至于sqlserver数据库与oracle的函数书写略有不同,可以到google,csdn等地方去查找。

sql语句的大致写法如下:

If pDotCount = 0 Then
                    sqlString = \"select t.需要分割的字段,t.cname from 表名 t where Instr(t.icsn, \\\'.\\\', 1, 1)=0\"
                Else
                    sqlString = \"select t.需要分割的字段,t.cname from 表名 t where Instr(t.icsn, \\\'.\\\', 1,\" & pDotCount & \")>0 and Instr(t.icsn, \\\'.\\\', 1, \" & (pDotCount + 1) & \")=0 and Instr(t.icsn,\\\'\" & pParent & \"\\\',1,1)=1\"
                End If

pDotCount为需要读取的字段中\".\"的个数

然后通过双击事件获得父节点(即为选中节点),sql语句中pParent,返回属于该父节点的子节点,这样一级一级双击即可实现无限扩展,直至走到数据最后一层为止

检索定位任一节点

 


返回类别: 教程
上一教程: 24点的算法
下一教程: 选择VB.Net还是C#(转)

您可以阅读与"使用TreeView实现无限级扩展节点"相关的教程:
· 使用.NET实现视频播放
· 我在使用C#中Treeview与解析XML碰到的问题
· 使用反射实现根据名称动态创建窗体的几种方式
· 使用CodeDom开发基于B/S的.NET+MSSQL代码生成器的随感
· DataGrid巧用实现目录浏览
    微笑服务 优质保证 索取样品