給你一段我曾經(jīng)寫的代碼,主要是生成TreeView的節(jié)點(diǎn)!有什么不懂的地方你就提!
創(chuàng)新互聯(lián)專注于大邑縣企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),商城建設(shè)。大邑縣網(wǎng)站建設(shè)公司,為大邑縣等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站建設(shè),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
Public Sub InitializeTreeView(ByVal strvXL As TreeView, ByVal vrsRecordTwo As DataSet)
Dim treBaseNodeOne As TreeNode
Dim treBaseNodeTwo As TreeNode
Dim strDWDM As String
m_rsRecordTwo = g_clsSybase.SelectSC_PD_SBCSB1()
'查找供電局信息
g_clsSybase.SelectRS_ZZJG_ZZJGDMB(m_rsRecordOne)
'添加根節(jié)點(diǎn)
Do While m_rsRecordOne.Read
strDWDM = m_rsRecordOne.GetString(0) '獲取單位代碼
treBaseNodeOne = New TreeNode
treBaseNodeOne.Text = m_rsRecordOne.GetString(1).Trim() '獲取單位名稱
treBaseNodeOne.Name = m_rsRecordOne.GetString(1)
treBaseNodeOne.Tag = ""
strvXL.Nodes.Add(treBaseNodeOne)
'添加樹(shù)結(jié)構(gòu)第二層
Dim drsTwo() As DataRow
drsTwo = m_rsRecordTwo.Tables(0).Select("SSDW='" strDWDM "' and SC__XLBM is null")
For Each dr As DataRow In drsTwo
treBaseNodeTwo = New TreeNode
treBaseNodeTwo.Text = dr.Item("XLMC").ToString.Trim
treBaseNodeTwo.Name = dr.Item("XLMC")
treBaseNodeTwo.Tag = dr.Item("XLBM")
treBaseNodeOne.Nodes.Add(treBaseNodeTwo)
Next
Loop
m_rsRecordOne.Close()
End Sub
說(shuō)實(shí)話一般不是你這樣存儲(chǔ)的,一般是用一個(gè)字段存儲(chǔ)ID號(hào),然后用另一個(gè)字段存儲(chǔ)上級(jí)單位的ID號(hào),然后用遞歸函數(shù)生成TreeView。建議你增加一個(gè)字段,然后將編號(hào)解析出的上級(jí)單位存儲(chǔ)在里面。以下是我的一個(gè)程序用的遞歸函數(shù):
表名是unit,其中包含了單位名稱unit_name,編號(hào)unit_id,Unit_upper就是上級(jí)單位的id號(hào)。
調(diào)用方式是 addtree(ds1, TreeView1.Nodes, 0),其中ds1是一個(gè)DataSet,對(duì)應(yīng)單位的表,treeview1是控件名稱,0是固定值,與表中根節(jié)點(diǎn)部門的Unit_upper一致(這個(gè)單位沒(méi)有上級(jí))。
Public Function addtree(ByVal ds As DataSet, ByVal treename As TreeNodeCollection, ByVal x1 As Integer) As Boolean
Dim dt As DataTable = ds.Tables("unit")
Dim dm As BindingManagerBase = Me.BindingContext(ds, "unit")
Dim dr As DataRow() = dt.Select("unit_upper=" x1.ToString)
Dim dr1 As DataRow
Dim nd As TreeNode
Dim nd1 As TreeNode
Dim x2 As Integer
If dr.GetLength(0) 0 Then
For Each dr1 In dr
nd = treename.Add(dr1("unit_name"))
nd.Tag = (dr1("unit_id"))
x2 = treename.IndexOf(nd)
addtree(ds, treename.Item(x2).Nodes, dr1("unit_id"))
Next
End If
Return True
End Function
不需要用數(shù)組:
假設(shè)已經(jīng)存在的圖片文件存放在 C:\圖片 文件夾里,并假設(shè)新創(chuàng)建的文件夾位于C:\圖片 文件夾里。
在窗體上添加一個(gè)按鈕,代碼如下:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim n As Long = -1
Dim P As Long = -1
Dim Pn As String
Dim MyNum As Integer = 100 '每100個(gè)文件存放在一個(gè)文件夾里
Dim MyPath As String
Dim MyFileName As String
Button1.Enabled = False
MyPath = "C:\圖片\" '指定已有圖片的路徑
MyFileName = UCase(Dir(MyPath, FileAttribute.Normal)) ' 找尋第一項(xiàng)。
Do While MyFileName "" ' 開(kāi)始循環(huán)。
If InStr(MyFileName, "JPG") 0 Or InStr(MyFileName, "GIF") 0 Or InStr(MyFileName, "PNG") 0 Then
n = n + 1
If n \ MyNum P Then
P = P + 1
Pn = CStr(n \ MyNum + 1)
MkDir(MyPath Pn)
End If
FileCopy(MyPath MyFileName, MyPath Pn "\" MyFileName)
End If
MyFileName = UCase(Dir()) ' 查找下一項(xiàng)
Loop
Button1.Enabled = True
End Sub
代碼通過(guò)測(cè)試。
這里有個(gè)C#的網(wǎng)上OA的代碼,可以參考一下:
第10章(\C10)
示例描述:本章實(shí)現(xiàn)了辦公自動(dòng)化系統(tǒng),通過(guò)該系統(tǒng),公司不同角色的員工可以通過(guò)網(wǎng)路完成日常的辦公,包括撰寫報(bào)告、審閱公文等。另外,系統(tǒng)還將實(shí)現(xiàn)一個(gè)系統(tǒng)管理員角色,對(duì)整個(gè)系統(tǒng)進(jìn)行動(dòng)態(tài)的維護(hù)。
\MyOA\Affix 網(wǎng)絡(luò)辦公系統(tǒng)用戶上傳附件目錄
\MyOA\App_Code\BusinessLogicHelper 網(wǎng)絡(luò)辦公系統(tǒng)業(yè)務(wù)邏輯接口層,包括文件:
\FileHelper.cs 公文接口類
\ValidateUtility.cs 數(shù)據(jù)驗(yàn)證功能類
\MyOA\App_Code\BusinessLogicLayer 網(wǎng)絡(luò)辦公系統(tǒng)業(yè)務(wù)邏輯層,包括以下文件:
\Department.cs 部門類
\File.cs 公文類
\FileStatus.cs 公文狀態(tài)類
\Plan.cs 工作計(jì)劃類
\Role.cs 用戶角色權(quán)限類
\User.cs 用戶類
\MyOA\App_Code\CommonComponent 網(wǎng)絡(luò)辦公系統(tǒng)通用組件層,包括文件:
\Encrypt.cs 字符串加密類
\EventsLog.cs 系統(tǒng)日志類
\Tree.cs 權(quán)限樹(shù)類
\MyOA\App_Code\DataAccessHelper 網(wǎng)絡(luò)辦公系統(tǒng)數(shù)據(jù)訪問(wèn)接口層,包括文件:
\SQLString.cs 構(gòu)造SQL語(yǔ)句的通用類
\GetSafeData.cs 安全獲取數(shù)據(jù)類
\MyOA\App_Code\DataAccessLayer 網(wǎng)絡(luò)辦公數(shù)據(jù)訪問(wèn)層,包括文件:
\Database.cs 數(shù)據(jù)訪問(wèn)類
\MyOA\App_Code\UserControls 網(wǎng)絡(luò)辦公用戶控件,包括文件:
\LeftTree.ascx 權(quán)限樹(shù)菜單控件
\MyOA\DB\MyOA_CreateTable.sql 網(wǎng)絡(luò)辦公數(shù)據(jù)庫(kù)創(chuàng)建腳本
\MyOA\DB\MyOA_InitData.sql 網(wǎng)絡(luò)辦公數(shù)據(jù)庫(kù)數(shù)據(jù)初始化腳本
\MyOA\Images\ 網(wǎng)絡(luò)辦公系統(tǒng)圖片文件夾
\MyOA\Styles\Styel.css 網(wǎng)絡(luò)辦公系統(tǒng)樣式表文件
\MyOA\Default.aspx 系統(tǒng)首頁(yè)
\MyOA\FileAdd.aspx 添加公文頁(yè)面
\MyOA\FileDetail.aspx 查看公文詳細(xì)信息頁(yè)面
\MyOA\FileList.aspx 瀏覽、查詢公文頁(yè)面
\MyOA\Login.aspx 登錄頁(yè)面
\MyOA\LogView.aspx 日志管理頁(yè)面
\MyOA\PlanList.aspx 工作計(jì)劃管理頁(yè)面
\MyOA\RoleManage.aspx 權(quán)限管理頁(yè)面
\MyOA\UserAdd.aspx 添加用戶頁(yè)面
\MyOA\UserList.aspx 瀏覽、查詢用戶頁(yè)面
\MyOA\UserResetPwd.aspx 用戶修改密碼頁(yè)面
\MyOA\UserUpdate.aspx 修改用戶信息頁(yè)面
雖然不是VB,不過(guò)都是.net,應(yīng)該能看懂吧。
當(dāng)前題目:vb.net代碼分層 vb應(yīng)用程序分層管理
分享地址:http://www.chinadenli.net/article46/doccchg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、營(yíng)銷型網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站、企業(yè)建站、網(wǎng)站排名、App開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
營(yíng)銷型網(wǎng)站建設(shè)知識(shí)