提要:在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(mDisp 相关视频
相关阅读 VB.NET 2005编写定时关机程序用VB.net2008编写幻灯片程序利用VB.NET为智能设备编写半自动初始化类VB.NET如何得到调用当前过程的方法名称和类名称c#(或vb.net)程序编码优化ADO在vb.net中的使用和方法教你如何用VB.net连接数据库VB.NET连接数据库简介及方法
热门文章 没有查询到任何记录。
最新文章
什么是.NET中的TDD?ASP.NET AJAX入门简介
人气排行 嵌入式实时操作系统VxWorks入门教程ArrayList 与 string、string[] 的转换C#遍历整个文件夹及子目录的文件代码WebMatrix入门教程asp.net判断文件或文件夹是否存在c#判断数据NULL值的方法vc++6.0怎么写Windows简单窗口代码.net解决数据导出excel时的格式问题 |
查看所有0条评论>>