




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、,1,2020/6/20,DataGrid控件,DataGrid控件是一個多二維的數(shù)據(jù)網(wǎng)格,用來以表格形式顯示數(shù)據(jù)源數(shù)據(jù)和以列為單位,設(shè)定各列的操作類型。網(wǎng)格中的每一行表示數(shù)據(jù)源中的一個記錄,每一列表示數(shù)據(jù)源中的 個字段(列)。從顯示格式和操作控制能力看,DataGrid控件支持選擇、編輯、刪除、分頁顯示和排序等功能。 可在設(shè)計時使用“屬性生成器”對話框進行大量的自定義設(shè)置,生成顯示和編輯數(shù)據(jù)的列(包含“編輯”、“更新”、“取消”和“選擇”按鈕的列、自定義按鈕的列以及模板列)。然后可在模板編輯模式下布局模板列。,2,2020/6/20,使用DataGrid控件基本過程,(1)首先通過DataS
2、ource屬性指定數(shù)據(jù)源; (2)指定要操作的數(shù)據(jù)表及關(guān)鍵字段; (3)設(shè)置DataGrid控件的外觀顯示布局(包括顏色、字體、字號、邊框、分頁、排序、不同列的顯示與操作類型等); (4)用DataBind()方法綁定數(shù)據(jù);,3,2020/6/20,DataGrid控件基本語法,asp DataGrid id=”控件名稱” Headerstyle-BackColor=”顏色值,表示標題欄背景顏色。 Width=”寬度值,可以使用像素值或百分比” OnEditCommand”單擊編輯按鈕時的事件名稱” OnUpdateCommand”單擊更新按鈕時的事件名稱” OnCancelCommand”單
3、擊取消按鈕時的事件名稱” OnDeleteCommand”單擊刪除按鈕時的事件名稱” OnltemCommnd”單擊其他按鈕時的事件名稱” DataKeyField”關(guān)鍵字段,類似于數(shù)據(jù)庫中的主鍵” AutOGenerateColumns”True|False,是否自動產(chǎn)生每一列“ runat=”server”/,4,2020/6/20,DataGrid控件的語法,將數(shù)據(jù)綁定到DataGrid控件的語法: DataGrid 控件名稱.DataSource=數(shù)據(jù)對象 指定的數(shù)據(jù)源 DataGrid 控件名稱.DataBind()執(zhí)行綁定 將數(shù)據(jù)對象綁定到DataGrid控件后,它就會根據(jù)其中的字
4、段自動產(chǎn)生每一列。當然,也可以令AutOGenerateColumns”False”,然后手工生成每一列。,5,2020/6/20,6,2020/6/20,DataGrid控件主要屬性,DataGrid控件主要屬性,其中標有“*”和“*”標識的屬性在顯示格式設(shè)計等方面起重要作用,尤其是“*”標識的屬性,可以使 DataGrid控件為不同的內(nèi)容設(shè)置樣式。設(shè)置 ShowFooter和ShowHeader屬性,也可以顯示或隱藏控件頁腳和頁眉。 通過正確設(shè)置以上屬性值,可以確定DataGrid控件中的顯示行數(shù)(分頁)和記錄顯示順序(排序),也可以確定DataGrid控件的列和數(shù)據(jù)源中字段的順序等。,7
5、,2020/6/20,列類型,DataGrid控件允許以各種方式指定要顯示的列。默認情況下,列基于數(shù)據(jù)源中的字段自動生成。但是,為了更精確地控制列的內(nèi)容和布局,可以定義列的類型(不同的列類型決定控件中各列的行為)。,8,2020/6/20,列類型,9,2020/6/20,10,2020/6/20,6-5.aspx,下面將DataReader對象綁定到DataGrid控件 MyDataGrid.DataSource = dr 指定數(shù)據(jù)源 MyDataGrid.DataBind() 執(zhí)行綁定 定義DataGrid控件 與6-1比較,在顯示紀錄時簡單。缺點是每一欄的標題是字段名。,11,2020/6
6、/20,6-6.aspx,建立DataSet對象 Dim ds As New DataSet() 填充DataSet對象 adp.Fill(ds, link) 綁定數(shù)據(jù)對象 MyDataGrid.DataSource=DS.Tables(link).DefaultView 指定數(shù)據(jù)源 MyDataGrid.DataBind() 執(zhí)行綁定,12,2020/6/20,程序分析,建立DataSet對象后,斷開數(shù)據(jù)庫連接。 填充DataSet對象,adp.Fill(ds, “l(fā)ink”) 是將查詢的數(shù)據(jù)存放到DataSet對象的一個“l(fā)ink”表中,這個表不是數(shù)據(jù)庫的 “l(fā)ink”表名,用戶完全可以另
7、取一個表名。 綁定數(shù)據(jù)對象MyDataGrid.DataSource=DS.Tables(“l(fā)ink”).DefaultView 事將DataSet對象的 “l(fā)ink”表默認的視圖綁定到DataGrid。,13,2020/6/20,動態(tài)在線插入6-7.ASPX,插入不同控件的輸入值。 Dim strSql As String strSql=Insert Into link(sitename,URL,intro,grade,submit_date) Values( Data Source= Data Source= & Server.Mappath(wwwlink.mdb) 建立Command對
8、象 Dim txtSiteName,txtURL,txtIntro,txtGrade As textbox 聲明文本框控件變量 txtSiteName=e.Item.Cells(2).Controls(0) 取回第2個儲存格中的TextBox txtURL=e.Item.Cells(3).Controls(0) txtIntro=e.Item.Cells(4).Controls(0) txtGrade=e.Item.Cells(5).Controls(0) Dim strSql As String strSql=Update link Set sitename= & txtSiteName.T
9、ext & ,URL= & txtURL.Text & ,intro= & txtIntro.Text & ,grade= & CInt(txtGrade.Text) & ,submit_date=# & Now() & # Where link_id= & MyDataGrid.DataKeys(CInt(E.Item.ItemIndex) Dim cmd As New OleDbCommand(strSql, conn),23,2020/6/20,DataListItem,一個指向TextBox 對象的變量txtTemp,并傳回DataListItem 中,因為DataListItem 是
10、以表格的方式來呈現(xiàn)字段所以每一個DataListItem 都有一個Cells 集合,用來管理每筆資料所要顯示的所有字段,而呈現(xiàn)每個字段的控件被放置于 Cell 對象中;如下圖所示:,24,2020/6/20,綜合示例,INDEX.ASPX ADD.ASPX,25,2020/6/20,INDEX.ASPX,Dim txtSiteName,txtURL,txtIntro,txtGrade As textbox 聲明文本框控件變量 txtSiteName=e.Item.Cells(3).Controls(0) txtURL=e.Item.Cells(4).Controls(0) txtIntro=e
11、.Item.Cells(5).Controls(0) txtGrade=e.Item.Cells(6).Controls(0),26,2020/6/20,Try 執(zhí)行更新操作 conn.open() cmd.ExecuteNonQuery() conn.close() Catch Exp message.Text=發(fā)生錯誤,沒有正常更新記錄 End Try,27,2020/6/20,數(shù)據(jù)源,要將控件和數(shù)據(jù)源進行連接,最簡單的方式就是直接把數(shù)據(jù)指定給控件的某個屬性,或者是使用數(shù)據(jù)連接說明,可以讓控件取得數(shù)據(jù)源的數(shù)據(jù),只要在控件中需要數(shù)據(jù)源提供數(shù)據(jù)的地方插入 即可。,28,2020/6/20,例子
12、(1), Runat=Server/ Dim strMsg As String Sub Page_Load(Sender As Object, e As EventArgs) strMsg = “這是一個簡單的數(shù)據(jù)源連接范例 Label1.DataBind() End Sub ,29,2020/6/20,例子(2)6-12(1).aspx, Runat=Server/ Sub Page_Load(Sender As Object, e As EventArgs) Page.DataBind() End Sub Public Function Squ(intA) Return (intA*int
13、A).ToString End Function ,30,2020/6/20,6-12.aspx, 請輸入您的血型: Rows=4 Runat=Server/ Dim arA() As String = A,B,O,AB Sub Page_Load(Sender As Object, e As EventArgs) Page.DataBind() End Sub ,31,2020/6/20,6-13.aspx, 請選擇您的興趣: Runat=Server/ Dim alA As ArrayList = New ArrayList Sub Page_Load(Sender As Object,
14、e As EventArgs) alA.Add(爬山) alA.Add(打球) alA.Add(計算機) alA.Add(音樂) Page.DataBind() End Sub ,32,2020/6/20,6-14.aspx, 請選擇居住城市: Dim alA As ArrayList = New ArrayList Sub Page_Load(Sender As Object, e As EventArgs) Dim alA As ArrayList = New ArrayList alA.Add(杭州市) alA.Add(上海市) alA.Add(北京市) alA.Add(南京市) alA
15、.Add(蘇州市) ddlA.DataSource=alA Page.DataBind() End Sub ,33,2020/6/20,DataGrid控件的高級功能,將進一步探討DataGrid控件的高級功能,包括分頁顯示數(shù)據(jù)、排序、定制列、到詳細頁、自定義列。 如果把成千上萬條記錄顯示在一個頁面上,既不方便測覽,顯示速度也會比較慢。 最好采用分頁顯示數(shù)據(jù)。也就是每頁只顯示若干條記錄。 7-1.aspx(分頁顯示數(shù)據(jù)),34,2020/6/20,分頁顯示,要分頁顯示數(shù)據(jù),必須要在DataGrid控件中添加如下屬性: AllowPaging”True” 表示允許分頁顯示 Pagesize=整數(shù)
16、值 每頁顯示多少條記錄 OnPagelndexChanged”事件過程” 切換到另一頁時的事件過程,35,2020/6/20,Pagerstyle屬性,還可以利用Pagerstyle屬性設(shè)置分頁導航欄的樣式: Pagerstyle-Mode” NextPrev|NumericPages”顯示為下一頁或數(shù)字 Pagerstyle-HorlzontalAlign”Left| Right|center”水平對齊方式 Pagerstyle-PrevPageText=字符串顯示為“上一頁”時的文字 Paperstyle-NextPageText=字符串顯示為“下一頁”時的文字,36,2020/6/20,
17、7-1(0).aspx,37,2020/6/20,對數(shù)據(jù)動態(tài)排序,我們學過在 Select語句中用 Order By就可以按字段排序。但是,利用 DataGrid控件可以實現(xiàn)動態(tài)地按任意字段排序。 要進行排序,必須要在DataGrid控件中添加如下屬性: AllowSOrting”True” 表示允許排序 OnsortCommand”事件過程” 排序?qū)氖录^程 排序的中心思想是當單擊DataGrid某一列的標題時,就將這一列的字段名稱賦值給Dataset對象默認視圖的Sort屬性,然后就可以按該列排序了。,38,2020/6/20,7-2(0).aspx程序解釋,Dim SortField
18、 As String 定義一個變量,用來存放排序字段 Sub Page_Load(Sender As Object, E As EventArgs) IF Not Page.IsPostBack Then SortField=link_id 第一次啟動頁面時,令排序字段為link_id Call BindData() 綁定數(shù)據(jù) End If End Sub,39,2020/6/20,程序解釋,單擊某一列的標題時執(zhí)行該過程 Sub MyDataGrid_Sort(Sender As Object, E As DataGridSortCommandEventArgs) SortField=E.SortExpression 令排序字段為選擇的字段 BindData() 綁定數(shù)據(jù) End Sub,40,2020/6/20,定制列,在前面的例子中大都是讓DataGrid控件按照數(shù)據(jù)庫中的宇段自動產(chǎn)生每一列, 其實也可以自己定制每一列,包括每一列的顯示內(nèi)容、順序和樣式等。 要自己定制列,首先需要在DataGrid控件中添加如下屬性: AutoGenerateColumns”False”表示不允許自動產(chǎn)生列 此外,還
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 村民就業(yè)問題的現(xiàn)狀與挑戰(zhàn)分析
- 廣東省湛江雷州市2024年化學九上期末復習檢測模擬試題含解析
- 江蘇省無錫市錫山區(qū)錫東片2025屆化學九上期末質(zhì)量檢測模擬試題含解析
- 河北滄州泊頭市蘇屯初級中學2024年七上數(shù)學期末教學質(zhì)量檢測模擬試題含解析
- 江蘇省常州市溧陽市2025屆八上數(shù)學期末達標測試試題含解析
- 智能物流產(chǎn)業(yè)發(fā)展及技術(shù)創(chuàng)新研究報告
- 2025至2030靜脈留置針行業(yè)項目調(diào)研及市場前景預測評估報告
- 寫字樓消防通道保潔要求
- 2025至2030數(shù)字金融行業(yè)發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報告
- 2025至2030中國自動滴咖啡機行業(yè)市場占有率及投資前景評估規(guī)劃報告
- 實驗室培育鉆石行業(yè)技術(shù)發(fā)展趨勢報告
- 2025年領(lǐng)英大制造行業(yè)人才全球化報告-馬來西亞篇
- 專題:閱讀理解 30篇 中考英語高分提升之新題速遞第二輯【含答案+解析】
- 企業(yè)面試題目和答案大全
- 抖音房產(chǎn)直播課件
- 2025至2030中國近視眼治療儀市場競爭力剖析及企業(yè)經(jīng)營形勢分析報告
- 2025年北京市高考英語試卷真題(含答案解析)
- 日本所有番號分類
- 國際壓力性損傷-潰瘍預防和治療臨床指南(2025年版)解讀課件
- 降低手術(shù)患者術(shù)中低體溫發(fā)生率
- 患者跌倒墜床風險評估流程防范措施
評論
0/150
提交評論