GridView控件_第1頁
GridView控件_第2頁
GridView控件_第3頁
GridView控件_第4頁
GridView控件_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、GridView控件GridView控件用于顯示數(shù)據(jù)表中的數(shù)據(jù)。通過GridView控件,用戶可以顯示、編輯、刪除和排序多種不同的數(shù)據(jù)源(包括數(shù)據(jù)庫、XML文件和公開數(shù)據(jù)的業(yè)務(wù)對(duì)象等)中的數(shù)據(jù)。1屬性GridView控件的常用屬性及說明如表1所示。表1GridView控件常用屬性及說明屬 性說 明AllowPaging獲取或設(shè)置一個(gè)值,該值指示是否啟用分頁功能AllowSorting獲取或設(shè)置一個(gè)值,該值指示是否啟用排序功能Columns獲取表示GridView控件中列字段的DataControlField對(duì)象的集合DataMember當(dāng)數(shù)據(jù)源包含多個(gè)不同的數(shù)據(jù)項(xiàng)列表時(shí),獲取或設(shè)置數(shù)據(jù)綁定控件

2、綁定到的數(shù)據(jù)列表名稱DataSource獲取或設(shè)置對(duì)象,數(shù)據(jù)綁定控件從該對(duì)象中檢索其數(shù)據(jù)項(xiàng)列表DataSourceID獲取或設(shè)置控件的ID,數(shù)據(jù)綁定控件從該控件中檢索其數(shù)據(jù)項(xiàng)列表EditIndex獲取或設(shè)置要編輯的行的索引GridLines獲取或設(shè)置GridView控件的網(wǎng)格線樣式PageIndex獲取或設(shè)置當(dāng)前顯示頁的索引Rows獲取表示GridView控件中數(shù)據(jù)行的GridViewRow對(duì)象的集合SelectedIndex獲取或設(shè)置GridView控件中的選中行的索引SelectedRow獲取對(duì)GridViewRow對(duì)象的引用,該對(duì)象表示控件中的選中行SelectedValue獲取Grid

3、View控件中選中行的數(shù)據(jù)鍵值下面介紹GridView控件的一些常用屬性。1)AllowPaging屬性該屬性獲取或設(shè)置一個(gè)Bool型的值,用于表示是否啟用該控件的分頁功能,True表示啟用,F(xiàn)alse表示不啟用,默認(rèn)值為False。注意:啟用分頁功能時(shí),從數(shù)據(jù)源控件返回的數(shù)據(jù)必須是DataSet類型。(2)DataSource屬性該屬性用來指定GridView控件綁定的數(shù)據(jù)源,指定數(shù)據(jù)源也可以通過后臺(tái)編碼對(duì)其進(jìn)行指定。(3)PageIndex屬性該屬性用來獲取或設(shè)置當(dāng)前顯示的頁面索引值,初始值為0,表示顯示第1頁。(4)SelectedIndex屬性該屬性用來獲取或設(shè)置被選中行的索引值,默認(rèn)

4、值為1,表示沒有選中行。(5)SelectedRow屬性該屬性用來獲取被選中行的GridViewRow對(duì)象??梢允褂迷搶?duì)象訪問被選中行的相關(guān)屬性。GridView控件是一種數(shù)據(jù)綁定控件,其顯示樣式和列可以通過手動(dòng)進(jìn)行設(shè)置,下面將詳細(xì)介紹如何設(shè)置GridView控件的顯示樣式和在GridView控件中編輯列。在網(wǎng)站設(shè)計(jì)頁中,從工具箱中拖曳一個(gè)GridView控件置于頁面上,單擊GridView控件右上方的“4”符號(hào),彈出如圖1所示的快捷菜單。在該快捷菜單中選擇“自動(dòng)套用格式”選項(xiàng),彈出如圖2所示的“自動(dòng)套用格式”對(duì)話框,用戶可以在此選擇GridView控件在網(wǎng)頁上顯示的樣式。圖1 GridVie

5、w控件快捷菜單圖2 “自動(dòng)套用格式”對(duì)話框在該快捷菜單中選擇“編輯列”選項(xiàng),彈出如圖3所示的“字段”對(duì)話框,用戶可以在此設(shè)置GridView控件要綁定的字段。圖3 “字段”對(duì)話框l l         在該對(duì)話框中,如果要綁定字段,則添加“BoundField”可用字段,并將其DataField和HeaderText屬性設(shè)置為要綁定的字段名稱和該列頭標(biāo)題名。注意:DataField屬性必須是數(shù)據(jù)庫中字段名稱。l l         如果

6、要查看某一列的詳細(xì)信息或?qū)ζ溥M(jìn)行修改,可以添加一個(gè)“HyperLinkField”可用字段,并分別將其DataNavigateUrlFields屬性設(shè)置為要綁定的數(shù)據(jù)表字段,DataNavigateUrlFormatString屬性設(shè)置為跳轉(zhuǎn)的頁面,HeaderText屬性設(shè)置為根據(jù)所設(shè)置的數(shù)據(jù)表字段進(jìn)行傳值和要顯示的標(biāo)題名。注意:DataNavigateUrlFormatString屬性設(shè)置的格式為:Index.aspx?id=0。l l         如果要?jiǎng)h除對(duì)應(yīng)列中的信息,可以添加一個(gè)“CommandFi

7、eld”控件,并將其HeaderText和ShowDeleteButton屬性分別設(shè)置為“刪除”和True。2方法GridView控件常用方法及說明如表2所示。表2GridView控件常用方法及說明方 法說 明DataBind將數(shù)據(jù)源綁定到GridView控件DeleteRow從數(shù)據(jù)源中刪除位于指定索引位置的記錄FindControl在當(dāng)前的命名容器中搜索指定的服務(wù)器控件Focus為控件設(shè)置輸入焦點(diǎn)Sort根據(jù)指定的排序表達(dá)式和方向?qū)ridView控件進(jìn)行排序UpdateRow使用行的字段值更新位于指定行索引位置的記錄上表列出了GridView控件的一些常用方法,在此主要介紹數(shù)據(jù)綁定方法Da

8、taBind。DataBind方法用來執(zhí)行數(shù)據(jù)庫綁定操作,其常用語法如下:string strCon = "Data Source=(local);Database=Northwind;User id=sa;Pwd="SqlConnection sqlconn = new SqlConnection(strCon);string sqlstr = "select * from Region"sqlconn.Open();SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlconn);DataSet my

9、ds = new DataSet();myda.Fill(myds);GridView1.DataSource = myds;GridView1.DataBind();sqlconn.Close();注意:在Windows應(yīng)用程序中對(duì)GridView控件進(jìn)行數(shù)據(jù)綁定時(shí),不用此方法,直接用DataSource屬性指定數(shù)據(jù)源即可。3事件GridView控件常用事件及說明如表3所示。表3GridView控件常用事件及說明事 件說 明PageIndexChanged在單擊某一頁導(dǎo)航按鈕時(shí),GridView控件處理分頁操作之后發(fā)生PageIndexChanging在單擊某一頁導(dǎo)航按鈕時(shí),GridView

10、控件處理分頁操作之前發(fā)生RowCancelingEdit單擊編輯模式中某一行的【取消】按鈕以后,在該行退出編輯模式之前發(fā)生RowCommand當(dāng)單擊GridView控件中的按鈕時(shí)發(fā)生RowCreated在GridView控件中創(chuàng)建行時(shí)發(fā)生RowDataBound在GridView控件中將數(shù)據(jù)行綁定到數(shù)據(jù)時(shí)發(fā)生RowDeleted單擊某一行的【刪除】按鈕時(shí),GridView控件刪除該行之后發(fā)生RowDeleting單擊某一行的【刪除】按鈕時(shí),GridView控件刪除該行之前發(fā)生RowEditing發(fā)生在單擊某一行的【編輯】按鈕以后,GridView控件進(jìn)入編輯模式之前RowUpdated發(fā)生在單

11、擊某一行的【更新】按鈕,并且GridView控件對(duì)該行進(jìn)行更新之后RowUpdating發(fā)生在單擊某一行的【更新】按鈕以后,GridView控件對(duì)該行進(jìn)行更新之前SelectedIndexChanged發(fā)生在單擊某一行的【選擇】按鈕,GridView控件對(duì)相應(yīng)的選擇操作進(jìn)行處理之后SelectedIndexChanging發(fā)生在單擊某一行的【選擇】按鈕以后,GridView控件對(duì)相應(yīng)的選擇操作進(jìn)行處理之前Sorted單擊用于列排序的超級(jí)鏈接時(shí),GridView控件對(duì)相應(yīng)的排序操作進(jìn)行處理之后發(fā)生Sorting單擊用于列排序的超級(jí)鏈接時(shí),GridView控件對(duì)相應(yīng)的排序操作進(jìn)行處理之前發(fā)生

12、60;用戶如果要在GridView控件的某個(gè)事件下實(shí)現(xiàn)功能,可以在屬性對(duì)話框中單擊 圖標(biāo)按鈕,找到相應(yīng)事件,然后雙擊進(jìn)入其后臺(tái)頁中編寫代碼。例如,如果用戶要啟用GridView控件自帶的分頁功能,可直接在GridView控件的PageIndexChanging事件下編寫如下代碼: GridView1.PageIndex = e.NewPageIndex;GridView1.DataBind();4示例示例:GridView控件示例下面示例首先通過設(shè)置GridView控件的屬性來控制其顯示外觀,然后分別在其PageIndexChanging事件和RowDeleting事件下編寫代碼實(shí)現(xiàn)

13、分頁和刪除功能。新建一個(gè)網(wǎng)站,默認(rèn)主頁為Default.aspx,在Default.aspx頁面上添加一個(gè)GridView控件,其屬性設(shè)置如表4所示。表4GridView控件屬性設(shè)置屬 性 名 稱屬 性 值IDGridView1AutoGenerateDeleteButtonTrueAutoGenerateSelectButtonTrueForeColor#333333(黑色)GridLinesNoneHorizontalAlignCenterPageSize5為了能在程序中執(zhí)行數(shù)據(jù)庫操作,首先在命名空間區(qū)域引用using System.Data.SqlClient命名空間,然后定義一個(gè)數(shù)據(jù)庫

14、連接字符串,并建立SqlConnection類的一個(gè)實(shí)例對(duì)象來建立數(shù)據(jù)庫連接,具體代碼如下:public partial class _Default : System.Web.UI.Page string strCon = "Data Source=(local);Database=Northwind;User id=sa;Pwd=" SqlConnection sqlconn;GridView控件用來顯示數(shù)據(jù)表中的數(shù)據(jù),為了實(shí)現(xiàn)該功能,自定義一個(gè)bind方法來執(zhí)行數(shù)據(jù)庫操作并綁定到GridView控件上,bind方法代碼如下: public void bind() sq

15、lconn = new SqlConnection(strCon); string sqlstr = "select * from Region" sqlconn.Open(); SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlconn); DataSet myds = new DataSet(); myda.Fill(myds); GridView1.DataSource = myds; GridView1.DataKeyNames = new string "RegionID" ; GridVi

16、ew1.DataBind(); sqlconn.Close(); 由于該示例數(shù)據(jù)庫分頁、刪除操作采用的是GridView控件自帶的功能,因此需要激活其PageIndexChanging事件和RowDeleting事件,具體代碼如下: protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) GridView1.PageIndex = e.NewPageIndex; GridView1.DataBind(); protected void GridView1_RowDeleting(obj

17、ect sender, GridViewDeleteEventArgs e) sqlconn = new SqlConnection(strCon); string sqlstr = "delete from Region where RegionID='"+GridView1.DataKeyse.RowIndex.Value+"'" sqlconn.Open(); SqlCommand sqlcom = new SqlCommand(sqlstr,sqlconn); sqlcom.ExecuteNonQuery(); sqlconn.C

18、lose(); bind(); 執(zhí)行程序,示例運(yùn)行結(jié)果如圖4所示。圖4 GridView控件示例程序完整代碼如下: Default.aspx.cs代碼文件using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlContr

19、ols;using System.Data.SqlClient;public partial class _Default : System.Web.UI.Page string strCon = "Data Source=(local);Database=Northwind;User id=sa;Pwd=" SqlConnection sqlconn; protected void Page_Load(object sender, EventArgs e) bind(); protected void GridView1_PageIndexChanging(object

20、sender, GridViewPageEventArgs e) GridView1.PageIndex = e.NewPageIndex; GridView1.DataBind(); protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) try sqlconn = new SqlConnection(strCon); string sqlstr = "delete from Region where RegionID='" + GridView1.DataKey

21、se.RowIndex.Value + "'" sqlconn.Open(); SqlCommand sqlcom = new SqlCommand(sqlstr, sqlconn); sqlcom.ExecuteNonQuery(); sqlconn.Close(); bind(); catch Response.Write("<script>alert('不能刪除系統(tǒng)表中自帶的記錄')</script>"); public void bind() sqlconn = new SqlConnection(

22、strCon); string sqlstr = "select * from Region" sqlconn.Open(); SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlconn); DataSet myds = new DataSet(); myda.Fill(myds); GridView1.DataSource = myds; GridView1.DataKeyNames = new string "RegionID" ; GridView1.DataBind(); sqlconn.Cl

23、ose(); Default.aspx設(shè)計(jì)文件<% Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-/W3C/DTD XHTML 1.0 Transitional/EN" "/TR/xhtml1/DTD/xhtml1-transitional.d

24、td"> <html xmlns="/1999/xhtml" ><head runat="server"> <title>GridView控件示例</title></head><body> <form id="form1" runat="server"> <div> <asp:GridView ID="GridView1" runat="server" AllowPaging="True" AutoGenerateDeleteButton="True" AutoGenerateSelectButton="True" CellPadding="4" ForeColor="#333333" GridLines="None" HorizontalAlign=&quo

溫馨提示

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

評(píng)論

0/150

提交評(píng)論