




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
-1-了解數(shù)據(jù)源控件和數(shù)據(jù)綁定控件的種類熟悉SqlDataSource數(shù)據(jù)源控件的配置掌握使用GridView控件進(jìn)行數(shù)據(jù)顯示、編輯、刪除目標(biāo)-2-數(shù)據(jù)控件概述數(shù)據(jù)源控件 用于配置數(shù)據(jù)源數(shù)據(jù)綁定控件 用于綁定數(shù)據(jù)源并顯示數(shù)據(jù)數(shù)據(jù)源控件和數(shù)據(jù)綁定控件讓開發(fā)人員以可視化的方式操作并顯示數(shù)據(jù)庫(kù)中的數(shù)據(jù),簡(jiǎn)化了開發(fā)難度提高了工作效率。-3-數(shù)據(jù)源控件數(shù)據(jù)源控件:ASP.NET4.0提供了6種數(shù)據(jù)源控件:SqlDataSource:用來(lái)連接數(shù)據(jù)庫(kù)類型的數(shù)據(jù)源,使用T-SQL命令來(lái)檢索和修改數(shù)據(jù)??捎糜跀?shù)據(jù)庫(kù)的類型包括SQLServer、OLEDB、ODBC和Oracle數(shù)據(jù)庫(kù)。AccessDataSource:繼承自SqlDataSource,專門用于Access數(shù)據(jù)庫(kù)。LinqDataSource:通過(guò)LINQ技術(shù)訪問(wèn)數(shù)據(jù)庫(kù)的映射類,實(shí)現(xiàn)數(shù)據(jù)的增、刪、改操作。ObjectDataSource:其數(shù)據(jù)源始中間層的業(yè)務(wù)對(duì)象,實(shí)現(xiàn)一種或多種方法與業(yè)務(wù)數(shù)據(jù)對(duì)象進(jìn)行交互,同時(shí)檢索或修改數(shù)據(jù)。XmlDataSource:讀取和寫入XML數(shù)據(jù)。SiteMapDataSource:從站點(diǎn)地圖獲取數(shù)據(jù),并將數(shù)據(jù)顯示到站點(diǎn)導(dǎo)航控件中。-4-數(shù)據(jù)綁定控件-1數(shù)據(jù)綁定控件:ASP.NET4.0中常用的數(shù)據(jù)綁定控件有6種:GridView控件:以表格的形式顯示數(shù)據(jù);DetailsView控件:基于表格的形式顯示一條記錄的詳細(xì)信息;FormView控件:基于模板布局的形式顯示一條記錄的詳細(xì)信息;Repeater控件:是一種列表控件,使用模板將數(shù)據(jù)記錄呈現(xiàn)為只讀列表;DataList控件:表格數(shù)據(jù)綁定控件,可以使用不同的布局來(lái)顯示數(shù)據(jù);ListView控件:使用模板和樣式定義的格式顯示數(shù)據(jù)。-5-數(shù)據(jù)綁定控件-2所有的數(shù)據(jù)庫(kù)綁定控件都是從BaseDataBoundControl抽象類派生的,該抽象類主要定義了以下屬性和方法:DataSource屬性:指定數(shù)據(jù)綁定控件的數(shù)據(jù)源,數(shù)據(jù)綁定控件從指定數(shù)據(jù)源中獲取數(shù)據(jù)并顯示。DataSourceID屬性:指定數(shù)據(jù)綁定控件的數(shù)據(jù)源控件的ID,數(shù)據(jù)綁定控件根據(jù)ID找到相應(yīng)的數(shù)據(jù)源控件,并利用數(shù)據(jù)源控件中指定方法獲取數(shù)據(jù)并顯示。DataBind()方法:當(dāng)指定了數(shù)據(jù)綁定控件的DataSource屬性或者DataSourceID屬性之后,再調(diào)用DataBind()方法才會(huì)顯示綁定的數(shù)據(jù)。-6-SqlDataSource控件用于提取SQL關(guān)系數(shù)據(jù)庫(kù)中的數(shù)據(jù),并綁定到數(shù)據(jù)綁定控件中。提供數(shù)據(jù)的檢索、插入、更新、刪除、排序等功能,開發(fā)人員不需要手動(dòng)編寫任何代碼。在所屬頁(yè)面加載時(shí),會(huì)自動(dòng)打開數(shù)據(jù)庫(kù),進(jìn)行數(shù)據(jù)操作,當(dāng)頁(yè)面關(guān)閉時(shí)會(huì)自動(dòng)關(guān)閉數(shù)據(jù)庫(kù)。SqlDataSource控件返回的對(duì)象是DataSet,DataSet不太面向?qū)ο蟆?7-SqlDataSource控件操作-1示例:演示使用SqlDataSource數(shù)據(jù)源控件連接SQL2005數(shù)據(jù)庫(kù)的步驟。1.添加SqlDataSource數(shù)據(jù)源控件從工具箱的“數(shù)據(jù)”選項(xiàng)卡中,將SqlDataSource控件添加到頁(yè)面中,并修改其ID屬性為“sqlUser”。-8-SqlDataSource控件操作-22.建立新的連接在“SqlDataSource任務(wù)”窗口中選擇“配置數(shù)據(jù)源”選項(xiàng),彈出“數(shù)據(jù)連接”窗口。點(diǎn)擊“新建按鈕”
在新彈出窗口中配置數(shù)據(jù)庫(kù)的相關(guān)信息,并點(diǎn)擊“測(cè)試連接”按鈕當(dāng)連接數(shù)據(jù)庫(kù)成功后,會(huì)顯示圖中的信息<connectionStrings> <addname="HRConnectionString"connectionString="DataSource=.;InitialCatalog=HR;IntegratedSecurity=True"providerName="System.Data.SqlClient"/></connectionStrings>-9-SqlDataSource控件操作-33.配置select語(yǔ)句在“配置Select語(yǔ)句”窗口中指定表及列,如下圖所示。配置完select語(yǔ)句后,點(diǎn)擊“下一步”按鈕,則會(huì)顯示測(cè)試查詢窗口點(diǎn)擊“完成”按鈕,數(shù)據(jù)源配置過(guò)程結(jié)束-10-SqlDataSource控件操作-44.查看生成的數(shù)據(jù)源控件代碼數(shù)據(jù)源控件配置結(jié)束后,查看頁(yè)面的源代碼,其中關(guān)于數(shù)據(jù)源控件的代碼如下所示??梢暬瘜傩?lt;asp:SqlDataSourceID="sqlUser"runat="server" ConnectionString="<%$ConnectionStrings:HRConnectionString%>" SelectCommand="SELECT*FROM[UserDetails]"></asp:SqlDataSource> -11-GridView控件GridView是最常用的數(shù)據(jù)綁定控件之一,可以以表格形式顯示數(shù)據(jù)庫(kù)中的數(shù)據(jù):通過(guò)數(shù)據(jù)源控件將數(shù)據(jù)綁定到GridView控件;實(shí)現(xiàn)數(shù)據(jù)的選擇、編輯、刪除、排序、分頁(yè)功能;通過(guò)指定GridView控件的模板列以及顯示風(fēng)格,創(chuàng)建自定義的用戶界面;通過(guò)GridView控件提供的事件模型,完成用戶復(fù)雜的事件操作。GridView控件的數(shù)據(jù)綁定方式可以采用如下兩種形式:通過(guò)數(shù)據(jù)源控件的方式將數(shù)據(jù)綁定到GridView控件。通過(guò)編碼的方式將數(shù)據(jù)綁定到GridView控件。-12-綁定數(shù)據(jù)源使用GridView控件-1從工具箱的“數(shù)據(jù)”選項(xiàng)卡中,將GridView控件添加到頁(yè)面中,并修改其ID屬性為“gvUser”。-13-綁定數(shù)據(jù)源使用GridView控件-2在GridView控件的任務(wù)窗口中選擇數(shù)據(jù)源,選擇后,GridView控件中的列名將與UserDetails表對(duì)應(yīng)。-14-綁定數(shù)據(jù)源使用GridView控件-3在GridView控件的任務(wù)窗口中選擇“編輯列”選項(xiàng),彈出“字段”窗口,并編輯字段的HeaderText屬性。-15-綁定數(shù)據(jù)源使用GridView控件-4在GridView控件的任務(wù)窗口中選擇“自動(dòng)套用格式”選項(xiàng),將彈出“自動(dòng)套用格式”窗口,選擇某種格式。<asp:GridViewID="gvUser"runat="server"AutoGenerateColumns="False" CellPadding="4"DataKeyNames="userId"DataSourceID="sqlUser" ForeColor="#333333"GridLines="None"> <FooterStyleBackColor="#5D7B9D"Font-Bold="True"ForeColor="White"/> <RowStyleBackColor="#F7F6F3"ForeColor="#333333"/> <Columns> <asp:BoundFieldDataField="userId"HeaderText="ID" InsertVisible="False"ReadOnly="True"SortExpression="userId"/> <asp:BoundFieldDataField="userName"HeaderText="用戶名" SortExpression="userName"/> <asp:BoundFieldDataField="userPass"HeaderText="密碼" SortExpression="userPass"/> <asp:BoundFieldDataField="role"HeaderText="權(quán)限" SortExpression="role"/> <asp:BoundFieldDataField="regTime"HeaderText="注冊(cè)時(shí)間" SortExpression="regTime"/> <asp:BoundFieldDataField="logNum"HeaderText="登陸次數(shù)" SortExpression="logNum"/> </Columns> <PagerStyleBackColor="#284775"ForeColor="White" HorizontalAlign="Center"/> <SelectedRowStyleBackColor="#E2DED6"Font-Bold="True" ForeColor="#333333"/> <HeaderStyleBackColor="#5D7B9D"Font-Bold="True"ForeColor="White"/> <EditRowStyleBackColor="#999999"/> <AlternatingRowStyleBackColor="White"ForeColor="#284775"/></asp:GridView>代碼在原來(lái)簡(jiǎn)單的GridView控件中,添加了很多樣式,這些樣式是自動(dòng)套用格式之后添加進(jìn)去的
樣式名稱描述AlternatingRowStyle交替數(shù)據(jù)行的樣式。設(shè)置此屬性后,數(shù)據(jù)行交替使用RowStyle設(shè)置和AlternatingRowStyle設(shè)置進(jìn)行顯示EditRowStyle編輯行的樣式EmptyDataRowStyle空數(shù)據(jù)行樣式,當(dāng)數(shù)據(jù)源中沒有任何數(shù)據(jù)記錄時(shí)顯示FooterStyle腳注行的樣式HeaderStyle標(biāo)題行的樣式PagerStyle分頁(yè)導(dǎo)航行的樣式RowStyle數(shù)據(jù)行的樣式SelectedRowStyle選中行的樣式-16-綁定數(shù)據(jù)源使用GridView控件-5啟動(dòng)項(xiàng)目,運(yùn)行結(jié)果如下圖所示。-17-編程方式使用GridView控件-1將GridView控件添加到頁(yè)面中,在GridView控件的任務(wù)窗口中選擇“編輯列”選項(xiàng),取消對(duì)“自動(dòng)生成字段”復(fù)選框的勾選;在“可用字段”中選擇BoundField(綁定列),然后單擊“添加”按鈕,給GridView控件添加6個(gè)綁定列,并編輯每列的DataField和HeaderText屬性-18-編程方式使用GridView控件-2在GridView控件的任務(wù)窗口中選擇“自動(dòng)套用格式”選項(xiàng),設(shè)置“自動(dòng)套用格式”為某種格式<asp:GridViewID="gvUser"runat="server"AutoGenerateColumns="False" CellPadding="4"ForeColor="#333333"GridLines="None"Height="48px"> <FooterStyleBackColor="#5D7B9D"Font-Bold="True"ForeColor="White"/> <RowStyleBackColor="#F7F6F3"ForeColor="#333333"/> <Columns> <asp:BoundFieldDataField="userId"HeaderText="ID"/> <asp:BoundFieldDataField="userName"HeaderText="用戶名"/> <asp:BoundFieldDataField="userPass"HeaderText="密碼"/> <asp:BoundFieldDataField="role"HeaderText="權(quán)限"/> <asp:BoundFieldDataField="regTime"HeaderText="注冊(cè)時(shí)間"/> <asp:BoundFieldDataField="logNum"HeaderText="登陸次數(shù)"/> </Columns> <PagerStyleBackColor="#284775"ForeColor="White" HorizontalAlign="Center"/> <SelectedRowStyleBackColor="#E2DED6"Font-Bold="True" ForeColor="#333333"/> <HeaderStyleBackColor="#5D7B9D"Font-Bold="True"ForeColor="White"/> <EditRowStyleBackColor="#999999"/> <AlternatingRowStyleBackColor="White"ForeColor="#284775"/></asp:GridView>代碼中GridView控件沒有指明DataSourceID屬性,需要編碼設(shè)置其數(shù)據(jù)源
-19-編程方式使用GridView控件-2編寫頁(yè)面代碼,在Load事件中實(shí)現(xiàn)GridView控件的數(shù)據(jù)綁定publicpartialclassGridViewDemo2:System.Web.UI.Page{ protectedvoidPage_Load(objectsender,EventArgse) { if(!IsPostBack) { stringconstr="DataSource=.;InitialCatalog=HR;IntegratedSecurity=True"; SqlConnectioncon=newSqlConnection(constr); stringsql="SELECT*FROMUserDetails"; SqlDataAdapterda=newSqlDataAdapter(sql,con); DataSetds=newDataSet(); da.Fill(ds,"User"); //設(shè)置GridView控件的數(shù)據(jù)源為數(shù)據(jù)集中的User表
gvUser.DataSource=ds.Tables["User"]; //實(shí)現(xiàn)GridView控件的數(shù)據(jù)綁定
gvUser.DataBind(); } }}代碼編寫完成后,啟動(dòng)項(xiàng)目,運(yùn)行結(jié)果如第1種方式的結(jié)果相同-20-GridView控件列類型GridView控件的列共分為7種不同的類型,每個(gè)類型的列適用與不同的場(chǎng)景。 列類型描述BoundField顯示數(shù)據(jù)源中某個(gè)字段的值,綁定列是GridView控件的默認(rèn)列類型ButtonField為GridView控件中的每個(gè)項(xiàng)顯示一個(gè)命令按鈕,例如“添加”或“刪除”按鈕CheckBoxField為GridView控件中的每一項(xiàng)顯示一個(gè)復(fù)選框,通常用于顯示具有布爾值的字段CommandField顯示用來(lái)執(zhí)行選擇、編輯或刪除操作的預(yù)定義命令按鈕HyperLinkField將數(shù)據(jù)源中摸個(gè)字段顯示為超鏈接,允許將字段綁定到超鏈接的URL中ImageField為GridView控件中的每一項(xiàng)顯示一個(gè)圖片TemplateField根據(jù)指定的模板為GridView控件中的每一項(xiàng)顯示用戶定義的內(nèi)容-21-GridView控件事件GridView控件支持多種事件,幾乎所有的操作如選擇、排序、分頁(yè)、編輯、更新、刪除等都有明確的事件。事件描述DataBound在GridView控件完成到數(shù)據(jù)源的綁定后發(fā)生PageIndexChanging在單擊頁(yè)導(dǎo)航按鈕時(shí)發(fā)生,在GridView控件執(zhí)行分頁(yè)操作之前發(fā)生PageIndexChanged在單擊頁(yè)導(dǎo)航按鈕時(shí)發(fā)生,在GridView控件執(zhí)行分頁(yè)操作之后發(fā)生RowDataBound在GridView控件中的某個(gè)行被綁定到一個(gè)數(shù)據(jù)記錄時(shí)發(fā)生RowCreated創(chuàng)建新行時(shí)發(fā)生RowDeleting在GridView控件刪除數(shù)據(jù)行之前(點(diǎn)擊數(shù)據(jù)行的Delete按鈕時(shí))發(fā)生RowDeleted在GridView控件刪除數(shù)據(jù)行之后發(fā)生RowEditing在GridView控件進(jìn)入編輯模式之前(點(diǎn)擊數(shù)據(jù)行的Edit按鈕時(shí))發(fā)生RowUpdating在GridView控件更新數(shù)據(jù)行之前(點(diǎn)擊Update按鈕時(shí))發(fā)生RowUpdated在GridView控件更新數(shù)據(jù)行之后發(fā)生Sorting在GridView控件執(zhí)行排序操作之前發(fā)生Sorted在GridView控件執(zhí)行排序操作之后發(fā)生-22-GridView控件數(shù)據(jù)操作-1GridView控件實(shí)現(xiàn)對(duì)數(shù)據(jù)的修改功能實(shí)際上是通過(guò)數(shù)據(jù)源控件的UpdateCommand的SQL語(yǔ)句來(lái)實(shí)現(xiàn)的,也可以通過(guò)調(diào)用對(duì)應(yīng)的RowUpdated事件在后臺(tái)完成對(duì)數(shù)據(jù)的修改。 將GridView控件添加到頁(yè)面中,在其任務(wù)窗口的“選擇數(shù)據(jù)源”下拉組合框中選擇“新建數(shù)據(jù)源”選項(xiàng),彈出“數(shù)據(jù)源配置向?qū)А贝翱?,選擇數(shù)據(jù)源類型為“數(shù)據(jù)庫(kù)”類型,并指定數(shù)據(jù)源的ID為“sqlUser”,點(diǎn)擊“確定”按鈕。-23-GridView控件數(shù)據(jù)操作-2選擇數(shù)據(jù)連接并配置Select語(yǔ)句,點(diǎn)擊“高級(jí)”按鈕,在彈出的“高級(jí)SQL生成選項(xiàng)”對(duì)話框中選中“生成INSERT、UPDATE和DELETE語(yǔ)句”。-24-GridView控件數(shù)據(jù)操作-3啟用GridView控件的編輯和刪除功能,在GridView任務(wù)窗口中選中“啟用編輯”和“啟用刪除”復(fù)選框。
啟用編輯和刪除功能后,GridView控件會(huì)在第一列插入一個(gè)CommandField列,該列會(huì)顯示編輯和刪除超鏈接按鈕
-25-GridView控件數(shù)據(jù)操作-4設(shè)置GridView控件“自動(dòng)套用格式”為“專業(yè)型”,并編輯列。將CommandField列從第一列移到末尾,并設(shè)置其ButtonType屬性值為Button。-26-GridView控件數(shù)據(jù)操作-54.生成的頁(yè)面源代碼中核心代碼如下所示。<asp:SqlDataSourceID="sqlUser"runat="server" ConnectionString="<%$ConnectionStrings:HRConnectionString%>" … <DeleteParameters> <asp:ParameterName="userId"Type="Int32"/> </DeleteParameters> <UpdateParameters> <asp:ParameterName="userName"Type="String"/> … <asp:ParameterName="userId"Type="Int32"/> </UpdateParameters> <InsertParameters> <asp:ParameterName="userName"Typ
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度智能安防設(shè)備升級(jí)改造服務(wù)合同
- 2025年度小額貸款逾期債務(wù)追償合同
- 圖書館水電維修服務(wù)
- 2025年度房屋買賣合同違約責(zé)任認(rèn)定與賠償標(biāo)準(zhǔn)
- 2025年度個(gè)人信息數(shù)據(jù)保密與隱私保護(hù)協(xié)議
- 2025年度航空航天技術(shù)簡(jiǎn)易版投資協(xié)議
- 2025年度教育機(jī)構(gòu)股份轉(zhuǎn)讓及資源整合協(xié)議
- 親子樂園單項(xiàng)裝修合同
- 2025年度城市綜合體安全保衛(wèi)與保安服務(wù)合同
- 2025年度養(yǎng)老院養(yǎng)老人才引進(jìn)合作協(xié)議
- 吊籃施工風(fēng)險(xiǎn)分級(jí)管控與隱患排查治理(匯編)
- 內(nèi)蒙古呼和浩特市2023年中考?xì)v史試題(附真題答案)
- 急診科護(hù)理帶教經(jīng)驗(yàn)
- 車間維修工培訓(xùn)課件
- 涉警輿情培訓(xùn)課件模板
- 安全管理工作中形式主義及防止對(duì)策
- 2024年鄭州信息科技職業(yè)學(xué)院高職單招(英語(yǔ)/數(shù)學(xué)/語(yǔ)文)筆試歷年參考題庫(kù)含答案解析
- 2023-2024學(xué)年西安市高二數(shù)學(xué)第一學(xué)期期末考試卷附答案解析
- 學(xué)校保密教育培訓(xùn)課件
- 班組文化是企業(yè)文化建設(shè)的核心
- Project-培訓(xùn)教學(xué)課件
評(píng)論
0/150
提交評(píng)論