第10章 網頁資料庫的顯示與維護 10-1 再談資料控制項 10-2 GridView控制項 10-3 DetailsView控制項

Slides:



Advertisements
Similar presentations
猜谜语 有个小娃娃,真是没 礼貌。 见到小树摇一摇,吓 得树叶哇哇叫。 见到小花逗一逗,摘 去她的太阳帽。 没人和它交朋友,只 好自已到外处跑。
Advertisements

Web 开发基础 第二章 表格与页面布局. 回顾 Internet 和 万维网 网页的工作原理 网页的基本结构 标记及其属性 段落标记,图片标记,超级链接标记 相对路径,绝对路径,物理路径.
HyperText Markup Language
黄帝内经 内经教研室 王黎.
职官与科举 职官:在国家机构中担任一定职务的官吏,这里面有职官的名称、职权范围和品级地位等方面的内容。
花开有日 芬芳天下 “国培计划(2012)” ——幼儿园骨干教师远程培训项目 山东幼儿园教师8班第4期简报 主办人:张瑞美     
《卖火柴的小女孩》 《海的女儿》 你 认 识 这 些 图 片 的 故 事 吗 《丑小鸭》 《拇指姑娘》 它们都来自于哪位作家笔下?
民主國家的政府體制 我國的中央政府體制 我國中央政府的功能 地方政府組織與功能
SQL的简单查询.
銷售與顧客關係管理 巫立宇.邱志聖 著.
Chap 11 SQL基本查詢指令.
第5章 HTML 標籤介紹.
ASP.NET 網頁製作教本 – 從基本語法學起
20、豆花庄的小家伙们.
第8章 设计数据库应用网站 本章讲述的主要内容 8.1 数据库基础知识 8.2 使用数据库系统 8.3 SQL查询基础
岡山區103年第12次 登革熱聯繫會報會議 岡山區公所 103年12月30日 1.
第五章:JDBC与数据库 第一讲.
第7章 表 格 清华大学出版社.
第三讲 站点链接与表格布局.
教学内容 1、演示并讲解用表格布局制作的网页 2、用表格制作网页.
CH11 心理疾病 李志鴻.
資料庫 (Database) SQL Server 2008實作
华 夏 之 祖 第 3 课.
法學緒論第六單元:法律適用 設計課程︰ 財經法律系 --楊東連 法學緒論-6.
第四章 海洋面面觀 ■ 4-1 海洋觀測工具 ■ 4-2 海水的性質與水團 ■ 4-3 海水的運動.
幸福大讲堂 也谈老年朋友的 “老有所□” 爸妈在线专家宣讲团 ——老年朋友如何乐度后半生概述 主讲:钱锡安
CH1 . 集 合 与 命 题.
俄语字母的发音体系 阅读规则.
《ASP.NET数据库网站设计教程(C#版)》
第二部分 HTML语言控制 本次课的主要内容: 1、认识网页文件的结构 2、HEAD、TITLE、BODY等基本标记符的使用
Ch19 創業精神 管理學:整合觀點與創新思維3/e.中山大學企管系 著.前程文化 出版.
以考试说明带动二轮复习 福州第三中学 张璐.
《计算机网络技术》 asp.net 程序设计 文本类控件 笪静.
跨越海峡的生命桥.
Ch03 VB.NET語法建立ASP.NET 網頁程式設計.
《ASP.NET数据库网站设计教程(C#版)》
Web Part與 個人化網頁製作 資策會教育訓練處 王寧疆 MCAD.NET/MCSD.NET/MCT
計算機概論 請老師填入姓名主講 課本:數位傳真2012 博碩文化出版發行.
Chapter 4 基本伺服器控制項.
Chapter 1 複習.
Asp.net 基礎.
行政院研究發展考核委員會 【網頁無障礙設計】說明會
Chapter 12 T-SQL 語法與 ASP.NET.
網路概念 APACHE PHP MYSQL HTML BY 董仔 08/01/14.
ASP.NET 網頁製作教本 – 從基本語法學起
第一章 Visual Studio、SQL Server介紹與開發環境
主 讲 教 师:陆有军 Web技术与应用 第六章 ADO.NET 主 讲 教 师:陆有军
第6章 ADO.NET数据访问接口 6.
第13章 會員管理與個人化程序 13-1 會員管理的基礎 13-2 啟用ASP.NET的會員管理 13-3 登入控制項
5.5.1 存储过程的优点 ① 事务处理 ② 速度和性能 ③ 过程控制 ④ 安全性 ⑤ 减少网络流量和通信 ⑥ 模块化
第14章 伺服器檔案、電子郵件處理與Ajax 14-1 資料夾與檔案操作 14-2 文字檔案的讀寫 14-3 電子郵件與附檔處理
ASP.net 企业级应用开发 信息工程系:罗明刚.
1 创建SqlDataSouce控件 数据源控件(SqlDataSource)
移动电子商务 第十二章 Windows Mobile应用案例 倚动软件工厂实验室.
FormView 控件只能显示数据库中一行的数据,并且提供对数据的分页操作,FormView 控件可以以 一种不规则的外观来将数据呈现给用户。FormView 控件同样支持模板,以方便开发人员自定义 FormView 控件的 UI,FormView 控件支持的模板如下所示: ItemTemplate:用于在.
Ch4.SQL Server 2005資料庫組成員元件介紹
第10章 網頁資料庫顯示與維護控制項 10-1 資料來源控制項 10-2 Repeater控制項 10-3 DataList控制項
W3C标准网页制作 主讲教师:张 涛.
第18章 個人入口網站的建立 18-1入口網站的基礎 18-2 建立網站的搜尋引擎 18-3 網頁組件的個人化功能
SQL Server Mobile 2005 程序开发(三)
國三地理科說明 南山中學10001學校日 地理科教師 林皓芸 分機192.
第4章 ASP.NET服务器控件.
布局大师——表格.
Chapter 17 購物網站 (1) - 產品目錄與購物車.
ASP.NET实用教程 清华大学出版社 第9章数据库应用 教学目标 教学重点 教学过程 2019年5月3日.
Chapter 18 購物網站 (2) - 訂單與產品管理.
表格 (Table).
分頁.
Visual Studio 2010 和 .NET Framework 4 培训研讨会
数据库应用技术 天津电大 翟迎建.
Presentation transcript:

第10章 網頁資料庫的顯示與維護 10-1 再談資料控制項 10-2 GridView控制項 10-3 DetailsView控制項 10-4 建立主要與詳細表單 10-5 樣板基礎的資料控制項 10-6 ListView和DataPager控制項

10-1 再談資料控制項 10-1-1 再談資料邊界控制項 10-1-2 格式化欄位顯示的資料

10-1-1 再談資料邊界控制項-說明 ASP.NET 2.0版提供Repeater、DataList、GridView和DetailsView控制項;3.5版新增ListView與DataPager控制項,可以使用資料來源控制項,將外部資料整合到控制項來顯示資料表的記錄資料。 Visual Studio 是在「工具箱」視窗的【資料】區段提供資料邊界控制項,只需拖拉至編輯區域,就可以在ASP.NET網頁新增資料邊界控制項。

10-1-1 再談資料邊界控制項- 欄位基礎的資料控制項 欄位基礎的資料控制項(Field-based Data Controls)是以欄位為單位來編排資料,支援表格或單筆記錄的顯示,可以使用表格的一列為一筆記錄;一欄為一個欄位,或單筆記錄的方式來編排資料。一般來說,欄位基礎的資料控制項都內建強大功能,預設提供資料維護功能,可以新增、更新或刪除資料。 顯示部分受限於是以欄位為單位,所以只能使用內建屬性來調整欄位的外觀,並不允許自行插入自訂文字、HTML標籤或其他ASP.NET控制項,例如:GridView和DetailsView控制項。

10-1-1 再談資料邊界控制項- 樣板基礎的資料控制項 樣板基礎的資料控制項(Templated-based Data Controls)是使用樣板(Templates)來定義如何編排資料,可以在控制項定義的樣板中,插入自訂文字、HTML標籤、樣式或其他ASP.NET控制項。而資料控制項本身只是使用內建方式來單次、交叉或重複顯示各種樣板的內容,例如:Repeater、DataList和ListView控制項。 因為是使用樣板來定義控制項輸出的內容,所以在使用上擁有更大的彈性來編排資料,相反的,實作上就比欄位基礎的控制項來的複雜些。

10-1-2 格式化欄位顯示的資料- 數值資料的格式字串 數值資料的格式字串可以格式化輸出貨幣、科學符號、百分比和指定的小數位數,常用的格式字串說明,如下表所示:

10-1-2 格式化欄位顯示的資料- 日期/時間資料的格式字串 對於日期/時間資料來說,常用的格式字串說明,如下表所示: 種類 格式字串 範例輸出 短日期 {0:d} 12/30/2016 長日期 {0:D} Friday, December 30, 2016 短時間 {0:t} 12:00 AM 長時間 {0:T} 12:00:00 AM 完整日期短時間 {0:f} Friday, December 30, 2016 12:00 AM 完整日期長時間 {0:F} Friday, December 30, 2016 12:00:00 AM 一般日期短時間 {0:g} 12/30/2016 12:00 AM 一般日期長時間 {0:G} 12/30/2016 12:00:00 AM

10-2 GridView控制項 10-2-1 格式化GridView控制項 10-2-2 編輯GridView控制項的欄位

10-2-1 格式化GridView控制項-說明 GridView控制項可以使用表格方式來顯示、分頁、排序和建立複雜資料表的顯示和編輯功能。編輯功能只能更新和刪除資料。 GridView控制項指定使用的資料來源控制項後,就可以使用表格方式來顯示取得的記錄資料,準備使用自動格式化(自動指定結尾為Style的樣式屬性值)來指定顯示樣式,並且指定欄位的顯示格式和標題名稱。

10-2-1 格式化GridView控制項-屬性 GridView控制項欄位的常用屬性說明,如下表所示:

10-2-1 格式化GridView控制項-自動格式化

10-2-1 格式化GridView控制項- 指定欄位屬性 指定欄位資料格式為【{0:c}】的貨幣格式

10-2-1 格式化GridView控制項-範例網站 ASP.NET網站:Ch10_2_1 在ASP.NET網頁的GridView控制項使用自動格式化來指定顯示樣式,並且指定中文的標題名稱,數值和日期/時間欄位的格式,如下圖所示:

10-2-2 編輯GridView控制項的欄位-說明 GridView控制項是一種欄位基礎的資料邊界控制項,可以在<Columns>區段子標籤來定義Field欄位控制項,常用的欄位控制項說明,如下表所示:

10-2-2 編輯GridView控制項的欄位- ButtonField控制項 ButtonField控制項可以顯示整欄Button控制項的按鈕,其相關的常用屬性說明,如下表所示:

10-2-2 編輯GridView控制項的欄位- ImageField控制項(說明) ImageField控制項可以在GridView控制項顯示圖片欄位,其相關的常用屬性說明,如下表所示:

10-2-2 編輯GridView控制項的欄位- ImageField控制項(屬性的使用) DataImageUrlField屬性可以指定圖片網址來源的欄位名稱,例如:來源是c_no欄位值。 DataImageUrlFormatString屬性是使用格式字元{0}來定義圖檔路徑,例如:「~/images/{0}small.gif」格式字串,此格式字串以c_no欄位值CS101為例,就是位在「~/images/CS101small.gif」的圖片,即指定教課書的封面。

10-2-2 編輯GridView控制項的欄位- HyperLinkField控制項(說明)

10-2-2 編輯GridView控制項的欄位- HyperLinkField控制項(屬性的使用) 如同ImageField控制項,也可以使用格式字元{0}來定義超連結的URL參數,例如:來源(DataNavigateUrlField)是c_no欄位值,格式字串(DataNavigateUrlFormatString)是Details.aspx?No={0},表示將學號值作為URL參數值傳遞至Details.aspx網頁。

10-2-2 編輯GridView控制項的欄位- RowCommand事件 if (e.CommandName == "Select") { pos = Convert.ToInt32(e.CommandArgument); no = GridView1.DataKeys[pos].Value.ToString(); lblOutput.Text = "課程編號: " + no; }

10-2-2 編輯GridView控制項的欄位- 範例網站(說明) ASP.NET網站:Ch10_2_2 在ASP.NET網頁Default.aspx的GridView控制項建立ButtonField、HyperLinkField和ImageField欄位控制項,以便顯示按鈕、超連結和圖片的控制項欄位。 當使用者按下課程編號超連結,可以連接Details.aspx顯示單筆記錄資料,這是修改第9-3節的參數SQL查詢,參數是URL參數Id,只是改為使用DetailsView控制項顯示記錄資料;如果是按下按鈕欄位的按鈕,可以在上方顯示該列的課程編號。

10-2-2 編輯GridView控制項的欄位- 範例網站(圖例)

10-2-3 GridView控制項的分頁與排序-說明 Visual Studio 只需在「GridView工作」功能表勾選【啟用分頁】或【啟用排序】選項,就可以開啟GridView控制項的分頁和排序功能,也就是將控制項的AllowSorting和AllowPaging屬性設為True。 GridView控制項如果啟用排序,預設將所有可排序欄位都啟用排序功能,如果有指定欄位不需要有排序功能,請清除SortExpression屬性值。

10-2-3 GridView控制項的分頁與排序- 分頁屬性 當啟用分頁後,就是指定PagerSettings-開頭的屬性,如下表所示:

10-2-3 GridView控制項的分頁與排序- 啟用分頁與排序 選GridView控制項且開啟「GridView工作」功能表,如下圖所示:

10-2-3 GridView控制項的分頁與排序- 範例網站 ASP.NET網站:Ch10_2_3 在ASP.NET網頁的GridView控制項啟用分頁和排序功能,並且取消【生日】欄位的排序功能,如下圖所示:

10-3 DetailsView控制項 10-3-1 DetailsView控制項的基本使用

10-3-1 DetailsView控制項的基本使用-說明 DetailsView控制項是以單筆方式來顯示資料來源的資料,如同GridView控制項,一樣支援分頁和編輯功能,而且能夠新增、刪除和更新記錄資料。 DetailsView控制項指定使用的資料來源控制項後,就可以使用單筆方式顯示記錄資料,一樣可以使用分頁來顯示資料。

10-3-1 DetailsView控制項的基本使用- 範例網站 ASP.NET網站:Ch10_3_1 在ASP.NET網頁的DetailsView控制項使用自動格式化來指定顯示樣式,並且指定中文的標題名稱,數值和日期/時間欄位的格式,如下圖所示:

10-3-2 DetailsView控制項的編輯功能- 說明 DetailsView控制項提供資料表記錄的編輯功能,只需勾選選項就可以啟用編輯功能,在資料來源控制項勾選【產生INSERT、UPDATE和DELETE陳述式】後,就可以建立DetailsView控制項的編輯功能。 勾選【產生INSERT、UPDATE和DELETE陳述式】

10-3-2 DetailsView控制項的編輯功能- 啟用編輯功能 選DetailsView控制項,開啟「DetailsView工作」功能表,勾選【啟用插入】、【啟用編輯】和【啟用刪除】,就可以在DetailsView控制項新增、更新和刪除記錄資料 ,如右圖所示:

10-3-2 DetailsView控制項的編輯功能- 範例網站 ASP.NET網站:Ch10_3_2 在ASP.NET網頁的DetailsView控制項啟用編輯功能,如下圖所示:

10-4 建立主要與詳細表單-說明 GridView和DetailsView控制項可以結合起來,建立主要與詳細表單(Master/Detail)。在主要表單的GridView控制項顯示清單,選擇後,才在DetailsView顯示單筆記錄的詳細資料。 在這一節將準備建立的則是一種多對一的主要與詳細表單。

10-4 建立主要與詳細表單- 步驟一:啟用GridView控制項的選取功能 選GridView控制項,按一下上方箭頭圖示顯示「GridView工作」功能表,如下圖所示: 勾選【樞紐分析表選取模式】,可以啟用GridView控制項的選取功能

10-4 建立主要與詳細表單- 步驟二:設定SqlDataSource2控制項的參數查詢 選右邊SqlDataSource2控制項,在設定資料來源的設定SQL陳述式步驟,按【WHERE】鈕可以看到「加入WHERE子句」對話方塊。 在【資料行】欄選欄位【c_no】,【運算子】欄位選【=】,來源選【Control】後,在右上方的【控制項ID】欄位選【GridView1】,按【加入】鈕建立WHERE子句

10-4 建立主要與詳細表單- 步驟三:指定DetailsView控制項的屬性 選DetailsView控制項,在「屬性」視窗找到【HeaderText】屬性的標題文字,輸入【課程資訊】標題文字,如下圖所示:

10-4 建立主要與詳細表單- 範例網站 ASP.NET網站:Ch10_4 在ASP.NET網頁使用GridView控制項選取課程編號後,在DetailsView控制項顯示詳細的課程記錄資料和指定教課書的封面,如右圖所示:

10-5 樣板基礎的資料控制項 10-5-1 Repeater控制項 10-5-2 DataList控制項 10-5-3 FormView控制項

10-5 樣板基礎的資料控制項 樣板(Templates)是一種模組元素,內含使用者自訂的文字內容、標籤、樣式或其他ASP.NET控制項,它是資料控制項編排顯示的基本單位。 當在資料邊界控制項定義好樣板,此時控制項本身只是依樣板預設的功能來單次、交叉或重複顯示樣板的內容,或提供編輯功能。例如:顯示標頭文字是使用HeaderTemplate樣板、重複顯示是ItemTemplate樣板和編輯功能是EditItemTemplate樣板等。

10-5-1 Repeater控制項-說明 Repeater控制項可以使用清單方式來顯示資料,能夠讓使用者自行定義Template樣板標籤後,以樣板標籤的項目如同迴圈一般來重複編排和顯示資料。

10-5-1 Repeater控制項- Template樣板標籤

10-5-1 Repeater控制項-資料繫結運算式 當Template樣板標籤需要輸出資料來源的資料時,我們是使用資料繫結運算式,執行Eval()方法來取得欄位值,這是位在「<%#」和「%>」符號間的運算式,如下所示: <%# Eval("sid")%> Eval()方法可以取得參數字串的欄位值,即欄位名稱,以此例是學號sid,如果有第2個參數就是格式字串。

10-5-1 Repeater控制項- <asp:Repeater>標籤1 01: <asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1"> 02: <HeaderTemplate> 03: <table border="0" cellspacing="0" cellpadding="5"> 04: <tr bgcolor="FFCC99"> 05: <th>學號</th><th>姓名</th><th>租金</th> 06: </tr> 07: </HeaderTemplate> 08: <ItemTemplate> 09: <tr> 10: <td><%# Eval("sid")%></td> 11: <td><%# Eval("name")%></td> 12: <td><%# Eval("rent", "{0:c}")%></td> 13: </tr>

10-5-1 Repeater控制項- <asp:Repeater>標籤2 14: </ItemTemplate> 15: <AlternatingItemTemplate> 16: <tr bgcolor="yellow"> 17: <td><%# Eval("sid")%></td> 18: <td><%# Eval("name")%></td> 19: <td><%# Eval("rent", "{0:c}")%></td> 20: </tr> 21: </AlternatingItemTemplate> 22: <FooterTemplate> 23: </table> 24: </FooterTemplate> 25: </asp:Repeater>

10-5-1 Repeater控制項-範例網站 ASP.NET網站:Ch10_5_1 在ASP.NET網頁的Repeater控制項使用樣板標籤來顯示資料來源的記錄資料,我們是使用HTML表格標籤來編排資料,如右圖所示:

10-5-2 DataList控制項-說明 DataList控制項也是使用樣板標籤來編排資料,提供多欄位、顯示方向和版面配置的資料顯示與編排,即使用Repeat開頭的相關屬性,其說明如下表所示:

10-5-2 DataList控制項- ItemTemplate樣板標籤 當在Visual Studio 建立DataList控制項且指定資料來源,在重新整理結構描述後,預設在ItemTemplate樣板標籤自動新增Label控制項顯示欄位資料,如下所示: <asp:Label ID="sidLabel" runat="server" Text='<%# Eval("sid") %>' />

10-5-2 DataList控制項-範例網站 ASP.NET網站:Ch10_5_2 在ASP.NET網頁的DataList控制項指定多欄編排,可以顯示資料來源的sid、name和tel三個欄位的記錄資料,如下圖所示:

10-5-3 FormView控制項-說明 FormView控制項可以提供DetailsView控制項的所有功能,只是它是使用Template樣板標籤來編排欄位,換句話說,我們可以自訂單筆記錄的顯示、編輯和插入記錄的表單。 FormView控制項除了在ItemTemplate樣板顯示資料外,還提供編輯和插入記錄功能的相關樣板,如下表所示:

10-5-3 FormView控制項-資料繫結運算式 在Visual Studio 建立FormView控制項且指定資料來源後,預設在EditItemTemplate和InsertItemTemplate樣板標籤自動新增TextBox控制項來編輯欄位資料,如下所示: <asp:TextBox ID="nameTextBox" runat="server" Text='<%# Bind("name") %>' /> Bind()方法的雙向資料繫結,因為不只顯示欄位資料,還需要更新資料。

10-5-3 FormView控制項- LinkButton控制項 Visual Studio 同時自動新增LinkButton控制項來建立更新和取消記錄編輯的功能,如下所示: <asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True" CommandName="Update" Text="更新" /> <asp:LinkButton ID="UpdateCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" Text="取消" />

10-5-3 FormView控制項- CommandName屬性值 LinkButton控制項是使用CommandName屬性值來指定FormView控制項執行的功能,如下表所示:

10-5-3 FormView控制項-範例網站 ASP.NET網站:Ch10_5_3 在ASP.NET網頁的FormView控制項建立InsertItemTemplate和EditItemTemplate樣板的新增和編輯功能,並且啟用分頁顯示功能,如下圖所示:

10-6 ListView和DataPager控制項-說明 ListView控制項擁有完整GridView控制項的功能,但使用Template樣板標籤來編排資料。DataPager控制項則是搭配ListView控制項,提供分頁切換的功能。 ListView控制項因為能夠指定多種版面配置,所以在功能上可以取代Repeater和DataList控制項,而且提供比GridView控制項更大的彈性來編排、編輯、刪除、選取和分頁資料的顯示,不只如此,ListView控制項一樣支援插入記錄;而GridView控制項並不支援。

10-6 ListView和DataPager控制項- 設定ListView控制項 開啟「ListView工作」功能表,選【設定ListView】超連結,可以看到「設定ListView」對話方塊。 版面配置 樣式 編輯功能與分頁

10-6 ListView和DataPager控制項- ListView控制項標籤1 在Visual Studio 切換至原始檔檢視,在LayoutTemplate樣板標籤需要新增ID屬性值為itemPlaceholder的元素,如下所示: <tr ID="itemPlaceholder" runat="server"> <tr>標籤的內容就是ItemTemplate和AlternatingItemTemplate樣板標籤在版面配置預設插入的位置。

10-6 ListView和DataPager控制項- ListView控制項標籤2 EmptyDataTemplate樣版標籤是當資料來源沒有取得資料時顯示的網頁內容。 EditItemTemplate和InsertItemTemplate樣板標籤的內容分別是編輯和插入記錄的TextBox控制項和指定CommandName屬性的Button控制項,這部分和FormView控制項相同。

10-6 ListView和DataPager控制項-範例網站 ASP.NET網站:Ch10_6 在ASP.NET網頁設定ListView控制項,使用類似GridView的格線版面配置,並且指定樣式和啟用控制項的編輯、插入、刪除和分頁功能,如下圖所示: