摘要:TreeView是Visual Studio2005中的一種站點導(dǎo)航控件,能夠采用樹形層次結(jié)構(gòu)非常方便地實現(xiàn)網(wǎng)站內(nèi)部不同頁面之間的導(dǎo)航切換。電子文件信息管理中主要涉及文件和目錄的層次管理,根據(jù)這一特性,TreeView控件剛好可以在文件信息管理中發(fā)揮優(yōu)勢。通過使用TreeView控件可以將文件和目錄按照不同類別進(jìn)行分級管理,同時用戶能夠通過網(wǎng)絡(luò)非常方便地連接到服務(wù)器實現(xiàn)高效、準(zhǔn)確、快速查看或更新文件和目錄信息。
關(guān)鍵詞:TreeView;導(dǎo)航;控件;文件;目錄;信息管理
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼: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
文件信息管理是企事業(yè)單位的辦公部門日常工作的重要組成部分,如何更方便地、更高效地、更準(zhǔn)確地管理相關(guān)文件是辦公室人員面臨的關(guān)鍵問題。目前,大多數(shù)文件管理都采用的是電子文檔的形式,電子文件的日常管理主要涉及以下三個方面,一是文件存放的組織層次管理,二是文件保存的安全性管理,三是文件的版本控制管理。
幾種文件管理中,怎樣有效地組織文件的層次關(guān)系直接決定了將來查詢文件的效率和結(jié)果。傳統(tǒng)的電子文件一般直接采用Windows資源管理器目錄直接管理的辦法,在這種管理模式下要查詢某個文件必須準(zhǔn)確記憶該文件的保存位置,同時還要記憶該文件的不同版本,使得查詢工作非常繁瑣也非常低效?;谶@種情況,開發(fā)一套文件信息管理系統(tǒng)勢在必行。然而,通過應(yīng)用程序管理文件如何進(jìn)行呢?微軟的.NET開發(fā)平臺提供了一種管理文件目錄的策略,即通過TreeView站點導(dǎo)航控件實現(xiàn)對文件進(jìn)行層次管理。
1 開發(fā)工具與技術(shù)
根據(jù)文件信息管理的實際需求,系統(tǒng)的開發(fā)采用基于BS的三層設(shè)計結(jié)構(gòu)完成。開發(fā)過程使用的工具是微軟的Visual Studio2005平臺、數(shù)據(jù)庫采用微軟的Access2003,應(yīng)用到的相關(guān)技術(shù)包括Web應(yīng)用開發(fā)技術(shù)ASP.NET2.0和數(shù)據(jù)訪問技術(shù)ADO.NET2.0。
1.1 Visual Studio2005
Visual Studio2005是微軟公司推出的集成開發(fā)環(huán)境。它是為ASP.NET2.0應(yīng)用程序量身定做的,與以前版本相比Visual Studio2005增加了大量方便、實用的新特性,其目的在于使.NET開發(fā)人員比以往更加高效。在控件上,新增加了多種服務(wù)器控件,如數(shù)據(jù)訪問控件、登錄控件、站點導(dǎo)航控件等;在頁面框架方面,做出了重大改進(jìn),主要體現(xiàn)在母版頁、主題和皮膚、編譯機制和本地化四項技術(shù)特性。在服務(wù)和應(yīng)用程序接口方面新增加了成員資格管理、角色管理、用戶配置、數(shù)據(jù)緩存、配置與管理工具等。
1.1.1 TreeView控件
TreeView控件ASP.NET2.0提供的一種站點導(dǎo)航控件,該控件形狀是一個樹形,創(chuàng)建時既可以綁定SiteMap站點地圖文件,也可以通過程序動態(tài)生成。TreeView 控件采用分層列表的樣式顯示節(jié)點(Node)對象,每個Node對象均由一個標(biāo)簽和一個可選的位圖組成。
TreeView一般應(yīng)用于顯示文檔標(biāo)題、索引入口、磁盤上的文件和目錄、或能被有效地分層顯示的其它種類信息。管理系統(tǒng)中可以通過設(shè)置該控件的屬性以及調(diào)用其方法對各個Node對象進(jìn)行操作,包括添加、刪除、對齊和其它操作。同時還可以通過編程展開與折疊Node對象來顯示或隱藏所有子節(jié)點。
根據(jù)TreeView的以上特點,文件信息管理系統(tǒng)中對文件的相關(guān)管理剛好可以應(yīng)用該控件,實現(xiàn)非常方便快捷地操作。同時,考慮到文件目錄的管理需要動態(tài)進(jìn)行,所以創(chuàng)建TreeView控件時采用編程的方式動態(tài)創(chuàng)建。通過程序動態(tài)創(chuàng)建TreeView控件實現(xiàn)目錄和文件管理的一般步驟如下:
第一步:創(chuàng)建TreeView對象;
第二步:創(chuàng)建根節(jié)點對象;
第三步:將根節(jié)點對象添加到TreeView對象的Nodes集合中;
第四步:依次創(chuàng)建下層節(jié)點對象;
第五步:將下層節(jié)點對象添加到上層節(jié)點的ChildNodes集合中。
當(dāng)然,控件在具體使用時也可以將根節(jié)點設(shè)置多個,只要滿足所有節(jié)點的層次關(guān)系即可。通過動態(tài)生成,可以實現(xiàn)多種效果。
1.2 數(shù)據(jù)訪問技術(shù)ADO.NET2.0
ADO.NET2.0是為Microsoft .NET Framework編程人員提供數(shù)據(jù)訪問服務(wù)的對象模型,是.NET Framework中不可缺少的一部分。ADO.NET2.0包含.NET Framework 數(shù)據(jù)提供程序, 用于連接各種數(shù)據(jù)源、執(zhí)行查詢命令以及存儲、操作和更新數(shù)據(jù)。ADO.NET由一套.NET對象組成,它們相互協(xié)作以提供所需的功能。ADO.NET的類分為兩部分:數(shù)據(jù)提供程序和數(shù)據(jù)集。
數(shù)據(jù)提供程序主要包括四個對象:Connection對象,Command對象,DataReader對象,DataAdapter對象。
數(shù)據(jù)集(DataSet)是從數(shù)據(jù)庫中檢索的數(shù)據(jù)在內(nèi)存中的緩存。
ADO.NET2.0對象模型之間的關(guān)系如圖1所示。
2 TreeView在文件信息管理系統(tǒng)中的應(yīng)用
文件信息管理系統(tǒng)主要實現(xiàn)的是文件和目錄的分層次管理。通過實際需求分析,對目錄的管理主要涉及目錄結(jié)構(gòu)的管理,主要包括目錄的創(chuàng)建、修改和如何高效地進(jìn)行查找;對文件的管理主要涉及文件保存路徑的管理以及上傳和下載。兩種管理中,使用TreeView控件可以有效的實現(xiàn)相關(guān)主要功能。
TreeView控件主要實現(xiàn)對目錄的層次結(jié)構(gòu)管理,可以將目錄的實際存儲結(jié)構(gòu)完美地表現(xiàn)出來。在具體開發(fā)過程主要分為兩個環(huán)節(jié),一是數(shù)據(jù)庫的設(shè)計,二是相關(guān)功能的設(shè)計。
2.1 數(shù)據(jù)庫設(shè)計與實現(xiàn)
因為文件信息管理系統(tǒng)實現(xiàn)簡單的文件目錄管理,文件目錄的管理所涉及的數(shù)據(jù)量不是很大,所以選擇Access作為管理系統(tǒng)的數(shù)據(jù)庫。
根據(jù)實際需求,常見的目錄管理大致有三級目錄即可,為了體現(xiàn)出目錄之間的層次關(guān)系,在數(shù)據(jù)庫設(shè)計中用三個表存儲每一級目錄。表之間的一對多聯(lián)系類型體現(xiàn)實際目錄的層次結(jié)構(gòu)。同時為了實現(xiàn)對文件的相關(guān)管理,文件的基本信息單獨設(shè)計表格。
系統(tǒng)的數(shù)據(jù)庫對應(yīng)表的關(guān)系模式如下:
一級目錄(一級編號,目錄名稱,路徑表示)
二級目錄(二級編號,目錄名稱,路徑表示,一級編號)
三級目錄(三級編號,目錄名稱,路徑表示,二級編號)
文件信息(文件編號,標(biāo)題,類型,創(chuàng)建日期,修改日期,路徑,三級編號)
2.2 功能設(shè)計與實現(xiàn)
系統(tǒng)的相關(guān)功能介紹主要描述目錄管理的設(shè)計與實現(xiàn)。根據(jù)分析,為了方便高效地查詢文件信息,在設(shè)計中使用TreeView控件實現(xiàn)目錄管理功能。根據(jù)需求,應(yīng)該實現(xiàn)動態(tài)地對目錄添加、修改,所以在創(chuàng)建TreeView節(jié)點時也應(yīng)該動態(tài)實現(xiàn)。
創(chuàng)建TreeView的過程按操作步驟主要分為三種操作:一是創(chuàng)建節(jié)點,二是設(shè)置節(jié)點的屬性,三是將節(jié)點添加到上層節(jié)點的子節(jié)點集合中。對于文件信息管理系統(tǒng),目錄信息都在數(shù)據(jù)庫中保存,所以需要使用數(shù)據(jù)訪問技術(shù)ADO.NET將目錄名稱讀取到程序中,作為節(jié)點的文本。
考慮到TreeView控件需要經(jīng)常刷新內(nèi)容,所以在使用ADO.NET進(jìn)行數(shù)據(jù)訪問時采用斷開連接的訪問模式。即將數(shù)據(jù)先讀取到內(nèi)存的DataSet中,然后再存入數(shù)組,最后創(chuàng)建TreeView。
其中,TreeView的創(chuàng)建過程如下代碼:
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);
}}}}
文件信息系統(tǒng)的目錄管理主界面如圖2所示。
因為TreeView是動態(tài)創(chuàng)建生成的,所以如果要改變顯示的目錄名稱或目錄的層次只用通過修改數(shù)據(jù)庫中的數(shù)據(jù)即可,然后重新綁定數(shù)據(jù)。文件信息管理系統(tǒng)的其它相關(guān)功能涉及一個重要操作就是對目錄的管理,包括新建、刪除和修改目錄。通過對目錄的更新操作可以直接決定TreeView顯示的結(jié)果,從而實現(xiàn)動態(tài)效果。
3 結(jié)束語
文件目錄的管理有很多種辦法,為了讓用戶非常方便非??旖莸貙崿F(xiàn)管理,通過管理系統(tǒng)是一個很好的選擇。在設(shè)計中技巧性地使用ASP.NET2.0的站點導(dǎo)航控件TreeView實現(xiàn)目錄的分級顯示與文件查詢,給用戶一個清晰、直觀的界面,操作過程靈活方便,成功地實現(xiàn)了用戶需求。
參考文獻(xiàn):
[1] 閆洪亮,李波.ASP.NET程序設(shè)計2.0[M].上海:上海交通大學(xué)出版社,2008:62-66.
[2] 微軟公司.數(shù)據(jù)訪問技術(shù)-ASP.NET2.0[M].北京:高等教育出版社,2007:40-50.
[3] 微軟公司.Web應(yīng)用開發(fā)-ASP.NET2.0[M].北京:高等教育出版社,2007:18-68.
[4] 王海濤.Net Framework2.0高級編程[M].北京:清華大學(xué)出版社,2007:18-31.
[5] 薩師煊,王珊.數(shù)據(jù)庫系統(tǒng)概論[M].北京:高等教育出版社,2000:230-233.
[6] 微軟公司.C#程序設(shè)計語言[M].北京:高等教育出版社,2003:51-55.
[7] 徐堅.C/S與B/S結(jié)構(gòu)的分析與比較[J].曲靖師范學(xué)院學(xué)報,2005(3):72-74.
[8] 陳德禮.ADO.NET連接池技術(shù)及其在Web系統(tǒng)開發(fā)中的應(yīng)用[J].安陽工學(xué)院學(xué)報,2007(1):59-62.