給你一段我曾經(jīng)寫的代碼,主要是生成TreeView的節(jié)點!有什么不懂的地方你就提!
創(chuàng)新互聯(lián)專注于大邑縣企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),商城建設(shè)。大邑縣網(wǎng)站建設(shè)公司,為大邑縣等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站建設(shè),專業(yè)設(shè)計,全程項目跟蹤,創(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é)點
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)
'添加樹結(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
說實話一般不是你這樣存儲的,一般是用一個字段存儲ID號,然后用另一個字段存儲上級單位的ID號,然后用遞歸函數(shù)生成TreeView。建議你增加一個字段,然后將編號解析出的上級單位存儲在里面。以下是我的一個程序用的遞歸函數(shù):
表名是unit,其中包含了單位名稱unit_name,編號unit_id,Unit_upper就是上級單位的id號。
調(diào)用方式是 addtree(ds1, TreeView1.Nodes, 0),其中ds1是一個DataSet,對應(yīng)單位的表,treeview1是控件名稱,0是固定值,與表中根節(jié)點部門的Unit_upper一致(這個單位沒有上級)。
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:\圖片 文件夾里。
在窗體上添加一個按鈕,代碼如下:
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個文件存放在一個文件夾里
Dim MyPath As String
Dim MyFileName As String
Button1.Enabled = False
MyPath = "C:\圖片\" '指定已有圖片的路徑
MyFileName = UCase(Dir(MyPath, FileAttribute.Normal)) ' 找尋第一項。
Do While MyFileName "" ' 開始循環(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()) ' 查找下一項
Loop
Button1.Enabled = True
End Sub
代碼通過測試。
這里有個C#的網(wǎng)上OA的代碼,可以參考一下:
第10章(\C10)
示例描述:本章實現(xiàn)了辦公自動化系統(tǒng),通過該系統(tǒng),公司不同角色的員工可以通過網(wǎng)路完成日常的辦公,包括撰寫報告、審閱公文等。另外,系統(tǒng)還將實現(xiàn)一個系統(tǒng)管理員角色,對整個系統(tǒng)進(jìn)行動態(tài)的維護。
\MyOA\Affix 網(wǎng)絡(luò)辦公系統(tǒng)用戶上傳附件目錄
\MyOA\App_Code\BusinessLogicHelper 網(wǎng)絡(luò)辦公系統(tǒng)業(yè)務(wù)邏輯接口層,包括文件:
\FileHelper.cs 公文接口類
\ValidateUtility.cs 數(shù)據(jù)驗證功能類
\MyOA\App_Code\BusinessLogicLayer 網(wǎng)絡(luò)辦公系統(tǒng)業(yè)務(wù)邏輯層,包括以下文件:
\Department.cs 部門類
\File.cs 公文類
\FileStatus.cs 公文狀態(tài)類
\Plan.cs 工作計劃類
\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)限樹類
\MyOA\App_Code\DataAccessHelper 網(wǎng)絡(luò)辦公系統(tǒng)數(shù)據(jù)訪問接口層,包括文件:
\SQLString.cs 構(gòu)造SQL語句的通用類
\GetSafeData.cs 安全獲取數(shù)據(jù)類
\MyOA\App_Code\DataAccessLayer 網(wǎng)絡(luò)辦公數(shù)據(jù)訪問層,包括文件:
\Database.cs 數(shù)據(jù)訪問類
\MyOA\App_Code\UserControls 網(wǎng)絡(luò)辦公用戶控件,包括文件:
\LeftTree.ascx 權(quán)限樹菜單控件
\MyOA\DB\MyOA_CreateTable.sql 網(wǎng)絡(luò)辦公數(shù)據(jù)庫創(chuàng)建腳本
\MyOA\DB\MyOA_InitData.sql 網(wǎng)絡(luò)辦公數(shù)據(jù)庫數(shù)據(jù)初始化腳本
\MyOA\Images\ 網(wǎng)絡(luò)辦公系統(tǒng)圖片文件夾
\MyOA\Styles\Styel.css 網(wǎng)絡(luò)辦公系統(tǒng)樣式表文件
\MyOA\Default.aspx 系統(tǒng)首頁
\MyOA\FileAdd.aspx 添加公文頁面
\MyOA\FileDetail.aspx 查看公文詳細(xì)信息頁面
\MyOA\FileList.aspx 瀏覽、查詢公文頁面
\MyOA\Login.aspx 登錄頁面
\MyOA\LogView.aspx 日志管理頁面
\MyOA\PlanList.aspx 工作計劃管理頁面
\MyOA\RoleManage.aspx 權(quán)限管理頁面
\MyOA\UserAdd.aspx 添加用戶頁面
\MyOA\UserList.aspx 瀏覽、查詢用戶頁面
\MyOA\UserResetPwd.aspx 用戶修改密碼頁面
\MyOA\UserUpdate.aspx 修改用戶信息頁面
雖然不是VB,不過都是.net,應(yīng)該能看懂吧。
當(dāng)前題目:vb.net代碼分層 vb應(yīng)用程序分層管理
分享地址:http://muchs.cn/article46/doccchg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、營銷型網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站、企業(yè)建站、網(wǎng)站排名、App開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)