天天看點

第十四講 GridView資料綁定控件(一)

主要内容

    能夠熟練使用GridView進行資料查詢與展示

    1. 通過GridView控件,我們可以顯示編輯和删除多種不同的資料源(如:資料庫,XML檔案和公開資料的業務對象)中的資料

    2. GridView是ASP.NET當中非常強大的資料展示控件

    3. GridView控件是DataGrid控件的後繼控件,更加強大

    注意:使用GridView控件呈現表資料,需要進行兩步,一步是指定資料源,二步是綁定資料源。這是跟Winform程式中的DataGridView最明顯的不同之處。

    執行個體操作,使用三層架構的思想進行。

    1. 建立資料庫中的表在實體項目(以Model為字尾名的項目)中的實體類,實體類名以表名來命名,如:XXX.cs

    2. 建立在資料通路層項目(以DAL為字尾名的項目)中的類,在這個項目中,需要建立一個輔助類,此公共輔助類作用是,統一的方法對資料庫進行通路,也叫工具類,不确定的因素以參數帶入,如SQL語句,參數個數,資料集對象等,傳回值大多是,整型(以增删改更新為相關,如ExecuteScaler,ExecuteNoneQuery等),資料集DataSet,資料流SqlDataReader(以查尋為主)等。

    資料通路層中類名,以Service為字尾,如:XXXService.cs

    3. 建立業務邏輯層項目(以BLL為字尾的項目),此層以協調表示層與資料通路層。類名以Manager為字尾,如XXXManager.cs

    4. 表示層,如WinForm或ADO.NET

    GridView控件的詳細講解:

    1. 自定義列,每個字段代表着特定的功能

        1. BoundField,顯示在GridView列标題處的資訊,相當于一個Label

            每個BoundField代表着資料庫中的一個字段

            HeaderText 列頭标題

            DataField 對應資料庫的實體字段

            注意:如果要使用上面的屬性,且不再以資料表的實體字段名顯示,需要關閉GridView控件一個屬性(AutoGenerateColumns:是否基于關聯的資料源自動生成列)。

        2. CheckBoxField 在頁面的GridView内部以CheckBox形式顯示

        3. HyperLinkField 在頁面的GridView内容超連接配接的形式顯示

        4. ImageField

        5. ButtonField

        6. CommandField

        注意:以上六個字段都代表一種功能的應用,如BoundField,它的功能隻是用來以Label标簽的形式顯示在列頭位置。

        但是,注意但是,如果前六個字段無法實作某一特定功能的時候,就用到了TemplateField這個字段。目前六個字段無法完成某一特定功能是,可以将其轉換為TemplateField字段。

        這個TemplateField字段是目前GridView控件中一個非常重要的模闆字段。它能完成一些任何我們所需要完成的事件

        當将前六個字段中的某字段轉換成TemplateField字段後,确定。再進入編輯模闆選項就可以看到相應的變化了。

        點選編輯模闆,打開模闆編輯模式,在"顯示"這個下拉清單中,系統預設給提供了五個模闆(以細斜體顯示的)。這五個模闆都它特殊的功能:

            1. Item Template 項模闆(指GridView内部某列中的每一項的模闆)

                它本質也确實是使用Label控件進行顯示的。

                注意當這個Label控件到了這裡,它就有了一個智标簽-->DataBindings,可以點選打開進行其項的設定。

                可綁定的屬性有:

                    Enable

                    Text

                        在這個屬性下的自定義綁定項中,它使用一個Bind()方法,綁定了一個資料庫的實體字段:Bind("資料庫實體字段名")。

                        注意:GridView控件提供了兩種資料綁定方法:

                            Bind(" ") 雙向綁定(即能顯示到控件,又能将控件的值反寫到資料庫中)

                            Eval(" ") 單向綁定(即隻用于向控件顯示綁定的内容資訊),Eval方法還有個特色功能,即它可以對綁定的資料類型進行轉換。

                            是以,如果隻想顯示資料的話,建議使用Bind()方法,如果想對資料進行特殊處理的話,建議使用Eval()方法。

                    Visible

            2. AlternationItem Template 交替項模闆(同樣針對是某列在GridView控件内部,每隔一行套用一次該模闆)

            3. EditItem Template 編輯模闆(本節未講,後續補充)

            4. Header Template 頭模闆(即修改了列标題)

            5. Footer Template 腳模闆(後續補充)

    2. 截取字元串的兩種方式

        1. subString()

        2. CSS樣式操作