第9章數(shù)據(jù)綁定與數(shù)據(jù)綁定控件2_第1頁
第9章數(shù)據(jù)綁定與數(shù)據(jù)綁定控件2_第2頁
第9章數(shù)據(jù)綁定與數(shù)據(jù)綁定控件2_第3頁
第9章數(shù)據(jù)綁定與數(shù)據(jù)綁定控件2_第4頁
第9章數(shù)據(jù)綁定與數(shù)據(jù)綁定控件2_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第第9章章 數(shù)據(jù)綁定與數(shù)據(jù)綁數(shù)據(jù)綁定與數(shù)據(jù)綁定定控件控件9.5ASP.NET數(shù)據(jù)庫網(wǎng)站設(shè)計教程(數(shù)據(jù)庫網(wǎng)站設(shè)計教程(C#版)版)配套教學(xué)資源配套教學(xué)資源本章內(nèi)容:數(shù)據(jù)綁定,GridView控件,Details View控件,F(xiàn)ormView控件,使用數(shù)據(jù)綁定表達(dá)式實現(xiàn)數(shù)據(jù)綁定,調(diào)用DataBind()方法實現(xiàn)數(shù)據(jù)綁定。本章重點:GridView控件,DetailsView控件,F(xiàn)ormView控件。n9.5.1 GridView控件的語法控件的語法nGridView控件的基本語法格式如下:nn n n n n n 其他控件其他控件n n n n n9.5 GridView控件控件n2GridV

2、iew控件的常用屬性控件的常用屬性n3GridView控件的數(shù)據(jù)綁定列控件的數(shù)據(jù)綁定列nGridView控件通過設(shè)置AutoGenerateColumns屬性為true自動創(chuàng)建列,也可以通過模板列創(chuàng)建自定義的列。在GridView、DetailsView等控件中,對于綁定字段的值,有7種類型的顯示方式,見表9-6。Field聲明在GridView中是被包含在標(biāo)記區(qū)塊中的。n表9-7所列的屬性代表每個列類型實際提供的屬性的一個子集。每個列類型定義了一個定制的屬性集,用以定義和配置所綁定的字段。n4GridView控件的事件控件的事件nGridView控件的事件非常豐富,在GridView控件上操

3、作時就會產(chǎn)生相應(yīng)的事件,要實現(xiàn)的功能代碼寫在相應(yīng)的事件中。GridView控件的常用事件見表9-8。n9.5.2 GridView控件的使用示例控件的使用示例n1分頁顯示記錄分頁顯示記錄n【演練9-11】 GridView控件的主要功能是以表的形式顯示數(shù)據(jù),本例采用自動套用格式,分頁顯示UserManagement數(shù)據(jù)庫中UserInfo表的所有記錄。n新建一個空網(wǎng)站C:ex9_11。添加Default.aspx,在Default.aspx.cs中添加對SQL Server數(shù)據(jù)庫命名空間的引用。在web.config中添加數(shù)據(jù)庫的連接字符串。n 在Default.aspx的設(shè)計視圖中,從工具箱

4、的“數(shù)據(jù)”組中,向Web窗體中添加一個GridView控件。n 單擊選中GridView控件,在“屬性”窗口中設(shè)置分頁AllowPaging為true,每頁顯示記錄個數(shù)PageSize為3。設(shè)置GridView屬性后,從Web窗體上能看到分頁樣式。最好在Default.aspx.cs中用代碼設(shè)置,更易于閱讀。n 自動套用格式,在Default.aspx的設(shè)計視圖中,在GridView控件的右上角單擊 按鈕,在任務(wù)面板中單擊“自動套用格式”,如圖9-20所示。n 顯示“自動套用格式”對話框,在左側(cè)欄中選擇一種架構(gòu),如“專業(yè)型”,如圖9-21所示,然后單擊“確定”按鈕。n GridView分頁時觸

5、發(fā)PageIndexChanging事件,在GridView1控件的“屬性”窗口中單擊“事件”按鈕 切換到事件列表,在事件列表中雙擊PageIndexChanging,添加GridView1的PageIndexChanging事件程序。代碼如下:nprotected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)nn GridView1.PageIndex = e.NewPageIndex; /當(dāng)前頁的索引n showAllUsers(); /重新綁定GridView的過程nn 在Page的Loa

6、d事件中顯示初始的記錄,代碼如下:nprotected void Page_Load(object sender, EventArgs e)nn if (!Page.IsPostBack) /防止重復(fù)綁定n n showAllUsers();/顯示所有記錄n nn 顯示所有記錄的綁定過程程序,在本過程中把GridView綁定到數(shù)據(jù)源。代碼如下:nprivate void showAllUsers()nn string connString = ConfigurationManager.ConnectionStringsConnStr.ToString();n SqlConnection con

7、n = new SqlConnection(connString); n string selectSql = select * from UserInfo order by UserId;/SQL查詢字符串n SqlDataAdapter adapter = new SqlDataAdapter(selectSql, conn);n DataSet ds = new DataSet();n adapter.Fill(ds);n GridView1.DataSource = ds;n GridView1.AllowPaging = true;/啟用分頁n GridView1.PageSize

8、= 3;/每頁顯示的記錄數(shù)n GridView1.DataBind();nn當(dāng)數(shù)據(jù)源中沒有記錄時,GridView默認(rèn)只顯示表頭不顯示記錄??梢孕薷臑楫?dāng)GridView中沒有記錄時顯示提示,在中添加EmptyDataTemplate模板,內(nèi)容如下:n提示:當(dāng)前沒有任何記錄!n為了顯示上面提示,把showAllUsers()過程中的selectSql替換成下面內(nèi)容:nstring selectSql = select * from UserInfo where username=111 order by UserId;n2. 自動排序記錄自動排序記錄n【演練9-12】 在UserManageme

9、nt數(shù)據(jù)庫中,顯示UserInfo表記錄時把英文列名改為中文,單擊GridView表頭實現(xiàn)記錄的排序。n新建一個空網(wǎng)站C:ex9_12。添加Default_Sort.aspx,在Default_Sort.aspx.cs中添加對SQL Server數(shù)據(jù)庫命名空間的引用。在web.config中添加數(shù)據(jù)庫的連接字符串。n(1)設(shè)置GridView控件的分頁、排序等n 在Default_Sort.aspx的設(shè)計視圖中,從工具箱的“數(shù)據(jù)”組中,向Web窗體中添加一個GridView控件。n 在GridView1控件的屬性窗口中,設(shè)置允許分頁AllowPaging為true,每頁顯示的記錄數(shù)PageSi

10、ze為3。最好在后臺代碼中用語句來實現(xiàn)設(shè)置。n(2)把GridView表頭列名改為對應(yīng)的中文(綁定列操作)n 更改GridView控件中顯示的列名,把列名UserName改為“用戶名”。在GridView控件的右上角單擊 按鈕,在任務(wù)面板中單擊“編輯列”。顯示“字段”對話框,取消選中左下角的“自動生成字段”復(fù)選框,也可在后臺程序中設(shè)置“GridView1.AutoGenerateColumns = false;”。n 在“可用字段”框中單擊“BoundField”,單擊“添加”按鈕,將其添加到“選定的字段”框中,如圖9-23所示。在“選定的字段”框中選中要操作的字段,在右側(cè)的“BoundFie

11、ld屬性”欄中設(shè)置屬性,在綁定到的字段框DataField后輸入表中的列名UserName;在對應(yīng)表頭內(nèi)的文本HeaderText后輸入“用戶名”,如圖9-24所示。n重復(fù)本操作,設(shè)置UserGender(性別)、UserEmail(郵箱)、CreatedTime(注冊日期,DataFormatString為0:d)等,改為對應(yīng)的中文名稱。n由于IsPass是bit型的,一般顯示為復(fù)選框,因此從“可選字段”框中選擇CheckBoxField,添加到“選定的字段”框中,在“BoundField屬性”欄中設(shè)置DataField為IsPass,HeaderText為“有效”。最后單擊“確定”按鈕,關(guān)

12、閉對話框。在設(shè)計視圖中顯示綁定列后的視圖,如圖9-25所示。在源視圖中查看Default_Sort.aspx代碼,了解生成的綁定代碼,如圖9-26所示。n 本網(wǎng)站采用演練9-11中的代碼,按演練9-11中步驟、在Default_Sort.aspx.cs中添加代碼。執(zhí)行Default_Sort.aspx,運行結(jié)果如圖9-27所示。n(2)自動排序n 在GridView1控件的屬性窗口中,設(shè)置允許排序AllowSorting為true。n 在GridView控件的右上角單擊 按鈕,在任務(wù)面板中單擊“編輯列”。顯示“字段”對話框,先在“選定的字段”框中單擊選定要設(shè)置的列名(如“用戶名”),然后在“B

13、oundField屬性”欄中設(shè)置屬性,在SortExpression后輸入排序表達(dá)式,排序必須以某個字段作為排序關(guān)鍵字才能完成,這里輸入列名(如UserName),如圖9-28所示。之后,作為排序關(guān)鍵字的列的列名變?yōu)槌溄訕邮?。n重復(fù)本操作,分別設(shè)置UserGender(性別)和CreatedTime(注冊日期)。n 編寫GridView1控件的GridView的Sorting事件。在GridView1控件的“屬性”窗口中,單擊“事件”按鈕 切換到事件列表,在事件列表中雙擊Sorting,添加GridView1的Sorting事件程序。單擊GridView表頭列名時觸發(fā)事件,把對應(yīng)字段的Dat

14、aField的值傳過來,重新設(shè)置ViewStateSortOrder和ViewStateOrderDire屬性。代碼如下:n【演練9-12】代碼n 執(zhí)行Default_Sort.aspx,顯示如圖9-29所示。單擊超鏈接表頭,可以按該列升序或降序排列記錄。從圖9-29中可以看到,排序是按表中所有記錄進(jìn)行的,而不是只對當(dāng)前頁中的記錄排序。n3. 記錄的編輯、更新、刪除記錄的編輯、更新、刪除n【演練9-13】 在UserManagement數(shù)據(jù)庫中,對UserInfo表記錄實現(xiàn)編輯、更新、取消編輯和刪除操作。網(wǎng)頁顯示如圖9-30所示,單擊修改行中的“編輯”鏈接按鈕,顯示如圖9-31所示,單元格變?yōu)?/p>

15、文本框,修改內(nèi)容后,單擊“更新”鏈接按鈕或“取消”鏈接按鈕。若單擊該行中的“刪除”鏈接按鈕,則刪除該行。n【演練9-13】代碼n9.5.3 自定義列和模板列的使用自定義列和模板列的使用n1. 自定義列自定義列n下面的例子演示如何為GridView控件設(shè)置綁定列、調(diào)整數(shù)據(jù)呈現(xiàn)效果。n【演練9-14】 用不同形式顯示UserManagement數(shù)據(jù)庫中UserInfo表中的記錄。n(1)創(chuàng)建網(wǎng)站文件夾n創(chuàng)建文件夾ex9_14和ex9_14App_Data。在SQL Server Management Studio中分離數(shù)據(jù)庫UserManagement,把兩個數(shù)據(jù)庫文件復(fù)制到ex9_14App_D

16、ata文件夾中。n創(chuàng)建文件夾ex9_14Images及ex9_14ImagesPhotos,把需要的頭像圖片文件復(fù)制到其中。n【演練9-14】代碼n2. 模板列(自定義列包含模板列)模板列(自定義列包含模板列)nGridView控件的TemplateField字段中定義的5種不同類型的模板,見表9-9。n【演練9-15】 在演練9-13的基礎(chǔ)上,把“性別”改為用下拉列表選擇“男”或“女”;添加“賬戶狀態(tài)”列,用單選按鈕選擇“通過”或“停用”。運行結(jié)果如圖9-38所示。n(1)創(chuàng)建網(wǎng)站文件夾n復(fù)制演練9-13創(chuàng)建的網(wǎng)站文件夾ex9_13,改為ex9_15。在Visual Studio中打開網(wǎng)站e

17、x9_15。注意,先分離ex9_13App_Data文件夾中的數(shù)據(jù)庫UserManagement后,才能復(fù)制網(wǎng)站。然后,附加ex9_15App_Data中的數(shù)據(jù)庫UserManagement。n(2)把“性別”列改為用DropDownList選擇n 在Default.aspx的設(shè)計視圖中,在GridView控件的右上角單擊 按鈕,在任務(wù)面板中單擊“編輯列”,如圖9-39所示。顯示“字段”對話框,先把已有的“性別”列轉(zhuǎn)換為模板,在“選定的字段”框中選中“性別”,然后單擊“將此字段轉(zhuǎn)換為TemplateField”鏈接按鈕,如圖9-40所示。單擊“確定”按鈕后,在源視圖中,可以看到“性別”列轉(zhuǎn)換為

18、TemplateField的代碼。n 把“性別”列改為編輯時用DropDownList選擇。n GridView1控件的GridView的RowDataBound事件。nprotected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)n / = = | = =n if (e.Row.RowState = = DataControlRowState.Edit | e.Row.RowState = =n (DataControlRowState.Alternate | DataControlRowState.Edit)n n DropDownList ddl = (DropDownList)e.Row.FindControl(ddlUserGender);n ddl.Items.Add(new ListItem(男, 男);n ddl.Items.Add(new ListItem(女, 女);n nn對于“性別”列,因為把編輯狀態(tài)時的TextBo

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論