教程中国
PHOTOSHOP CS9.0中文版 MAYA 8.5 FOR WINDOWS Corel Painter v9.0 Flash MX2004 中文版 Illustrator cs2 中文版
VC++6.0含sp6 中英文版 VB6.0 +sp6 简体中文版 Borland Delphi 7汉化版 MSDN for vb6.0中文版 Visual Studio 2005简体
教程中国下属 文件存储共享专家BIBIDU.COM 提供大型软件,教材,源码,电影,音乐,图书等下载 更多精品请点此进入
  您目前所在位置: 教程中国 >> .NET类 >> ASP.NET >> VB.NET中层次数据绑定TreeView的实现 RSS订阅
VB.NET中层次数据绑定TreeView的实现
教程(视频,书籍)下载:  ASP.NET AutoCAD 数据库 C# ASP java photoshop 网页设计 delphi 3dmax Flash C++ VB 张孝祥 实例   更多请进入BIBIDU搜索
IT搜索引擎   
  提要:在VB6中,常将TreeView用来表示层次数据,但相关的与数据库进行交互的代码,需要大量的采用手工编码;在VB.Net中,由于数据绑定功能的加强及语言特性的增强,可以很容易的实现TreeView与层次数据的绑定,本文将首先建立一个继承自TreeView的 dbTreeView,然后用一个单位(部门)的层次数据与dbTreeView进行数据绑定,并提供了与数据库进行交互的代码。

  1、从层次数据的表达方式开始

  在本例中,部门表(department)中有五个字段,如下表:

字段名 字段 类型说明
ID 自动编号 Key
Code String 编码
Name String 名称
PID Int 父结点的ID
CPtr boolean 是否有子结点
  
  2、继承自TreeNode的myTreeNode

  在myTreeNode中,新增了三个属性,如下表:

属性名 类型 说明
Value Object Key
PID Object 父结点的ID
CPtr Boolean 是否有子结点
  
  在Init事件中,根据传入的四个参数,设置这三个属性和Text属性。

  3、将dbTreeView绑定到数据源

属性名 类型 说明
Datasource dataview dbTreeVIew的数据源使用dataview,而不是object
Value Member string值成员(数据源[dataview]的列名)
Display Member string显示(在Text中)成员
Pid Member string父ID成员
CPtr Member string是否有子结点
  
  后四个属性对应myTreeNode的value,text,pid,cptr。

  相关代码如下:

Protected Property DataSource() As Object
 Get
  Return mDataView
 End Get

 Set(ByVal Value As Object)
  If Value Is Nothing Then
  Else
   mDataView = Value
   cm = CType(Me.BindingContext(mDataView), CurrencyManager)
   UpdateTreeView()
  End If
 End Set
End Property

Protected Property PidMember() As String
 Get
  Return mPidMember
 End Get
 Set(ByVal Value As String)
  mPidMember = Value
 End Set
End Property

Protected Property DisplayMember() As String
 Get
  Return Join(mDisplayMember, SplitChar)
 End Get
 Set(ByVal Value As String)
  mDisplayMember = Split(Value, SplitChar)
 End Set
End Property

'注意,这几个属性都是保护成员,必须在Init事件中设置:

Public Sub Init(ByVal dispmember As String, ByVal valuemember As String, ByVal pidmember As String, ByVal cptrmember As String, ByVal datasource As DataView)
 Me.ValueMember = valuemember
 Me.DisplayMember = dispmember
 Me.PidMember = pidmember
 Me.CPtrMember = cptrmember
 Me.DataSource = datasource
 '取value最大值,新增时将value+1,保证关健值唯一。
 Me.mDataView.Sort = Me.ValueMember
 Me.m_MaxID = Me.GetValue(Me.mDataView.Count - 1)
End Sub



来源:upschool.com.cn
作者:
关键字:实现
发表日期:2006-9-3

网页显示有限 阅读全文请下载本文完整版WORD文档

上一篇:ASP.NET底层架构探索之进入ASP.NET   下一篇:ASP.NET 配置文件层次结构和继承


本文的相类似文章
  • 实现400节点大中型企业VLAN方案
  • 网线实现音频、视频布线传输方案
  • Linux下双网卡绑定实现负载均衡
  • XP系统轻松实现局域网共享上网
  • 通过局域网实现远程唤醒功能
  • 路由器配置实现多PC共享上网
  • 教你用HUB来实现小型企业局域网
  • 无线宽带路由器实现电脑上网互访
  • 利用NetMeeting实现网络电话
  • IMail服务器实现局域网电子邮局
  • 网友评论 查看本文全部评论
    笔 名: *
    评 论:
    最多500字。当前字数:0
    联系方式:
    验证码:
    在学习中进步 在进步中成长 教程中国相随您的成长之路
    华腾联合科技股份有限公司版权所有
    广告联系:Rosibo@163.com