摘要:TreeView是Visual Studio2005中的一種站點導航控件,能夠采用樹形層次結構非常方便地實現網站內部不同頁面之間的導航切換。電子文件信息管理中主要涉及文件和目錄的層次管理,根據這一特性,TreeView控件剛好可以在文件信息管理中發揮優勢。通過使用TreeView控件可以將文件和目錄按照不同類別進行分級管理,同時用戶能夠通過網絡非常方便地連接到服務器實現高效、準確、快速查看或更新文件和目錄信息。
關鍵詞:TreeView;導航;控件;文件;目錄;信息管理
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2009)36-10157-03
TreeView Navigation Controls in the Application of File Information Management
CHU Long-xian, XING Li-guo
(Pingdingshan University, Pingdingshan 467000, China)
Abstract: TreeView is one of the Site Navigation Controls in the Visual Studio2005, which can easily adopt tree hierarchical structure to switch between different pages within the site. EDMS (Electronic Document Management System) is mainly related to layer management in file and directory. According to this property, the treeview control can very well display its respective advantages in file information management. We can manage the files and directories hierarchically according to their levels. Meanwhile, we can connect the users to the server easily with the help of Network and select or update the files and directories information efficiently, accurately and quickly.
Key words: navigation; control; documents; directory; information management
文件信息管理是企事業單位的辦公部門日常工作的重要組成部分,如何更方便地、更高效地、更準確地管理相關文件是辦公室人員面臨的關鍵問題。目前,大多數文件管理都采用的是電子文檔的形式,電子文件的日常管理主要涉及以下三個方面,一是文件存放的組織層次管理,二是文件保存的安全性管理,三是文件的版本控制管理。
幾種文件管理中,怎樣有效地組織文件的層次關系直接決定了將來查詢文件的效率和結果。傳統的電子文件一般直接采用Windows資源管理器目錄直接管理的辦法,在這種管理模式下要查詢某個文件必須準確記憶該文件的保存位置,同時還要記憶該文件的不同版本,使得查詢工作非常繁瑣也非常低效?;谶@種情況,開發一套文件信息管理系統勢在必行。然而,通過應用程序管理文件如何進行呢?微軟的.NET開發平臺提供了一種管理文件目錄的策略,即通過TreeView站點導航控件實現對文件進行層次管理。
1 開發工具與技術
根據文件信息管理的實際需求,系統的開發采用基于BS的三層設計結構完成。開發過程使用的工具是微軟的Visual Studio2005平臺、數據庫采用微軟的Access2003,應用到的相關技術包括Web應用開發技術ASP.NET2.0和數據訪問技術ADO.NET2.0。
1.1 Visual Studio2005
Visual Studio2005是微軟公司推出的集成開發環境。它是為ASP.NET2.0應用程序量身定做的,與以前版本相比Visual Studio2005增加了大量方便、實用的新特性,其目的在于使.NET開發人員比以往更加高效。在控件上,新增加了多種服務器控件,如數據訪問控件、登錄控件、站點導航控件等;在頁面框架方面,做出了重大改進,主要體現在母版頁、主題和皮膚、編譯機制和本地化四項技術特性。在服務和應用程序接口方面新增加了成員資格管理、角色管理、用戶配置、數據緩存、配置與管理工具等。
1.1.1 TreeView控件
TreeView控件ASP.NET2.0提供的一種站點導航控件,該控件形狀是一個樹形,創建時既可以綁定SiteMap站點地圖文件,也可以通過程序動態生成。TreeView 控件采用分層列表的樣式顯示節點(Node)對象,每個Node對象均由一個標簽和一個可選的位圖組成。
TreeView一般應用于顯示文檔標題、索引入口、磁盤上的文件和目錄、或能被有效地分層顯示的其它種類信息。管理系統中可以通過設置該控件的屬性以及調用其方法對各個Node對象進行操作,包括添加、刪除、對齊和其它操作。同時還可以通過編程展開與折疊Node對象來顯示或隱藏所有子節點。
根據TreeView的以上特點,文件信息管理系統中對文件的相關管理剛好可以應用該控件,實現非常方便快捷地操作。同時,考慮到文件目錄的管理需要動態進行,所以創建TreeView控件時采用編程的方式動態創建。通過程序動態創建TreeView控件實現目錄和文件管理的一般步驟如下:
第一步:創建TreeView對象;
第二步:創建根節點對象;
第三步:將根節點對象添加到TreeView對象的Nodes集合中;
第四步:依次創建下層節點對象;
第五步:將下層節點對象添加到上層節點的ChildNodes集合中。
當然,控件在具體使用時也可以將根節點設置多個,只要滿足所有節點的層次關系即可。通過動態生成,可以實現多種效果。
1.2 數據訪問技術ADO.NET2.0
ADO.NET2.0是為Microsoft .NET Framework編程人員提供數據訪問服務的對象模型,是.NET Framework中不可缺少的一部分。ADO.NET2.0包含.NET Framework 數據提供程序, 用于連接各種數據源、執行查詢命令以及存儲、操作和更新數據。ADO.NET由一套.NET對象組成,它們相互協作以提供所需的功能。ADO.NET的類分為兩部分:數據提供程序和數據集。
數據提供程序主要包括四個對象:Connection對象,Command對象,DataReader對象,DataAdapter對象。
數據集(DataSet)是從數據庫中檢索的數據在內存中的緩存。
ADO.NET2.0對象模型之間的關系如圖1所示。
2 TreeView在文件信息管理系統中的應用
文件信息管理系統主要實現的是文件和目錄的分層次管理。通過實際需求分析,對目錄的管理主要涉及目錄結構的管理,主要包括目錄的創建、修改和如何高效地進行查找;對文件的管理主要涉及文件保存路徑的管理以及上傳和下載。兩種管理中,使用TreeView控件可以有效的實現相關主要功能。
TreeView控件主要實現對目錄的層次結構管理,可以將目錄的實際存儲結構完美地表現出來。在具體開發過程主要分為兩個環節,一是數據庫的設計,二是相關功能的設計。
2.1 數據庫設計與實現
因為文件信息管理系統實現簡單的文件目錄管理,文件目錄的管理所涉及的數據量不是很大,所以選擇Access作為管理系統的數據庫。
根據實際需求,常見的目錄管理大致有三級目錄即可,為了體現出目錄之間的層次關系,在數據庫設計中用三個表存儲每一級目錄。表之間的一對多聯系類型體現實際目錄的層次結構。同時為了實現對文件的相關管理,文件的基本信息單獨設計表格。
系統的數據庫對應表的關系模式如下:
一級目錄(一級編號,目錄名稱,路徑表示)
二級目錄(二級編號,目錄名稱,路徑表示,一級編號)
三級目錄(三級編號,目錄名稱,路徑表示,二級編號)
文件信息(文件編號,標題,類型,創建日期,修改日期,路徑,三級編號)
2.2 功能設計與實現
系統的相關功能介紹主要描述目錄管理的設計與實現。根據分析,為了方便高效地查詢文件信息,在設計中使用TreeView控件實現目錄管理功能。根據需求,應該實現動態地對目錄添加、修改,所以在創建TreeView節點時也應該動態實現。
創建TreeView的過程按操作步驟主要分為三種操作:一是創建節點,二是設置節點的屬性,三是將節點添加到上層節點的子節點集合中。對于文件信息管理系統,目錄信息都在數據庫中保存,所以需要使用數據訪問技術ADO.NET將目錄名稱讀取到程序中,作為節點的文本。
考慮到TreeView控件需要經常刷新內容,所以在使用ADO.NET進行數據訪問時采用斷開連接的訪問模式。即將數據先讀取到內存的DataSet中,然后再存入數組,最后創建TreeView。
其中,TreeView的創建過程如下代碼:
public void GenTreeNode(TreeView tv){
tv.Nodes.Clear();
//首先讀出大類(一級目錄)名稱
string[][] bigClass = GetBigClass();
for (int i = 0; i < bigClass.Length; i++) {
TreeNode bNode = new TreeNode(bigClass[i][1]);
bNode.NavigateUrl = \"File_Query.aspx?class=1value=\" + bigClass[i][0];
//然后讀出小類(二級目錄)名稱
string[][] smallClass = GetSmallClass(bigClass[i][0]);
for (int k = 0; k < smallClass.Length; k++){
TreeNode sNode = new TreeNode(smallClass[k][1]);
sNode.NavigateUrl = \"File_Query.aspx?class=2value=\" + smallClass[k][0];
bNode.ChildNodes.Add(sNode);
//最后讀出項目類(三級目錄)名稱
string[][] itemClass = GetItemClass(smallClass[k][0]);
for (int m = 0; m < itemClass.Length; m++) {
TreeNode iNode = new TreeNode(itemClass[m][1]);
iNode.NavigateUrl = \"File_Query.aspx?class=3value=\" + itemClass[m][0];
sNode.ChildNodes.Add(iNode);
}}}}
文件信息系統的目錄管理主界面如圖2所示。
因為TreeView是動態創建生成的,所以如果要改變顯示的目錄名稱或目錄的層次只用通過修改數據庫中的數據即可,然后重新綁定數據。文件信息管理系統的其它相關功能涉及一個重要操作就是對目錄的管理,包括新建、刪除和修改目錄。通過對目錄的更新操作可以直接決定TreeView顯示的結果,從而實現動態效果。
3 結束語
文件目錄的管理有很多種辦法,為了讓用戶非常方便非??旖莸貙崿F管理,通過管理系統是一個很好的選擇。在設計中技巧性地使用ASP.NET2.0的站點導航控件TreeView實現目錄的分級顯示與文件查詢,給用戶一個清晰、直觀的界面,操作過程靈活方便,成功地實現了用戶需求。
參考文獻:
[1] 閆洪亮,李波.ASP.NET程序設計2.0[M].上海:上海交通大學出版社,2008:62-66.
[2] 微軟公司.數據訪問技術-ASP.NET2.0[M].北京:高等教育出版社,2007:40-50.
[3] 微軟公司.Web應用開發-ASP.NET2.0[M].北京:高等教育出版社,2007:18-68.
[4] 王海濤.Net Framework2.0高級編程[M].北京:清華大學出版社,2007:18-31.
[5] 薩師煊,王珊.數據庫系統概論[M].北京:高等教育出版社,2000:230-233.
[6] 微軟公司.C#程序設計語言[M].北京:高等教育出版社,2003:51-55.
[7] 徐堅.C/S與B/S結構的分析與比較[J].曲靖師范學院學報,2005(3):72-74.
[8] 陳德禮.ADO.NET連接池技術及其在Web系統開發中的應用[J].安陽工學院學報,2007(1):59-62.