1. 程式人生 > 其它 >【小試身手】幾個自定義控制元件的組合應用,實現簡單的“增刪改查”功能(有原始碼)

【小試身手】幾個自定義控制元件的組合應用,實現簡單的“增刪改查”功能(有原始碼)

     分頁控制元件、查詢控制元件、顯示資料的控制元件和表單控制元件,終於把這幾個控制元件結合在一起了,和在一起之後就可以讓“增刪改查”變的非常的簡單和容易了,當然還需要資料訪問函式庫的支援。

     綜合演示的IDE是 vs2008,.net Framework2.0,C#, B/S 。目標(適用範圍)是網站的後臺管理、OA、CRM、CMS等資訊管理方面的專案。

     演示網址:http://jyk.mainsdn.com/ 感謝 CleverKing (www.mainsdn.com)提供空間和域名。

     自定義控制元件的原始碼下載地址:http://www.cnblogs.com/jyk/archive/2008/07/29/1255891.html

     綜合演示的程式(原始碼)的下載地址:http://www.cnblogs.com/jyk/archive/2008/07/29/1255891.html

     先發個截圖:

 表單頁面,實現增加、修改資料。

     表面上看好像沒什麼特別的,但是有兩點需要注意一下。

     1、像文字框、下拉列表框這樣的控制元件,並不是在IDE裡面拖拽出來的,而是表單控制元件、查詢控制元件根據配置資訊自動“繪製”出來的。

     2、如果您留意一下網址的話,您會發現“新聞管理”和“員工管理”的列表頁面的網址都是http://jyk.mainsdn.com/_CommonPage/DataList1.aspx?fid=21

只是後面的 fid值不一樣,一個是21,一個是23。

     同樣兩個表單頁面的網址也是一樣的,都是http://jyk.mainsdn.com/_CommonPage/DataDetail.aspx?k=1&fid=21&id=-2 同樣也只是 fid 不一樣,一個是21,一個是23。

     這兩個頁面不是隻能承擔兩個功能點,其他的功能點也都可以使用這兩個頁面,只要功能不是太複雜的就可以。一般的專案,80%的列表頁面都可以使用DataList.aspx頁面來實現,而30%-80%的表單也都可以使用DataDetail.aspx頁面實現。

     可能您會想,這麼多的功能點都是用同一個頁面實現,頁面裡的程式碼是不是會很多很複雜,其實頁面裡的程式碼很簡單,其原因就是採用了一系列的自定義控制元件來實現的。

     下面是基類、網頁的結構圖:

     VS2008提供了一個計算程式碼度量值的功能,用一下看看吧,總共的程式碼數才128行,挺簡潔的吧。

     頁面裡的程式碼

     貼一段BasePageList 的程式碼,其他的就先不貼了,感興趣的話可以下載原始碼。

public class BasePageList : BasePage
    {
        定義公用的控制元件,以便於統一控制#region 定義公用的控制元件,以便於統一控制
        /**//// <summary>
        /// 分頁用的控制元件
        /// </summary>
        public QuickPager myPager;

        /**//// <summary>
        /// 顯示資料用的控制元件
        /// </summary>
        public MyGrid myGrid;

        /**//// <summary>
        /// 查詢控制元件
        /// </summary>
        public MyFind myFind;

        /**//// <summary>
        /// 查詢按鈕
        /// </summary>
        public Button Btn_Search;

        #endregion

        /**//// <summary>
        /// OnInit事件
        /// </summary>
        /// <param name="e"></param>
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            設定分頁控制元件的屬性#region 設定分頁控制元件的屬性
            myPager.DAL = base.dal;
            
            myPager.ControlGrid = myGrid;
            myPager.FunctionID = this.FunctionID;

            myPager.SetPagerInfo();
            
            #endregion

            設定顯示資料控制元件的屬性#region 設定顯示資料控制元件的屬性
            myGrid.DAL = base.dal;
            myGrid.FunctionID = this.FunctionID;
            #endregion

            設定查詢控制元件的屬性#region 設定查詢控制元件的屬性
            myFind.DAL = base.dal;
            myFind.FunctionID = this.FunctionID;

            myFind.SetTDColumns = 3;

            #endregion

            新增按鈕的事件#region 新增按鈕的事件
            this.Btn_Search.Click += new EventHandler(Btn_Search_Click);
            #endregion
        }

        查詢事件#region 查詢事件
        void Btn_Search_Click(object sender, EventArgs e)
        {
            myPager.TableQuery = this.myFind.GetSearchWhere(); 
            myPager.BindFirstPage();
        }
        #endregion
    }

     綜合演示的“安裝”說明,需要下載演示用的資料庫,在http://www.cnblogs.com/jyk/archive/2008/07/29/1255891.html 這裡有下載,附加到SQL Server 2000(5)裡面,然後下載綜合演示的程式,然後開啟web.congfig檔案,修改連線字串。