主要内容
能夠熟練使用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樣式操作