第16章 Windows Form與資料繫結 16-1 資料繫結的基礎 16-2 在專案新增資料來源 16-3 使用資料來源建立單筆編輯表單

Slides:



Advertisements
Similar presentations
計算機程式及實習 Computer Program Design and Experiment) 期末報告 ppt 南台科技大學機械工程系 姓名 : 蔡中銘 學號 :4A 授課老師 : 謝慶存大帥哥.
Advertisements

第一章 十六世紀中葉以前的臺灣與原住民 第一節 考古發掘與史前文化.
計算機概論 第4章 基本視窗程式應用 4-1 程式語言簡介 4-2 演算法與流程圖 4-3 視窗程式語言設計 4-4 資料結構.
Ch17 績效管理 章首個案:員工績效管理:奇異強迫排名,3M的15%「私釀酒」時間 17.1 績效管理的意義 17.2 績效管理的流程
計算機程式及實習 期末報告 題目:商店結帳系統
硕士论文开题报告 煤炭企业物流信息系统的 研究与设计 指导老师: 学生姓名: 学 号:
量化vs質性研究分析 量化vs質性研究分析 報告人:王秀民.
台塑石化 與 全國 之 財務分析 :企管二甲、乙 班級 指導 :楊雪蘭 老師 :第六組 組別 組員
ooxx這個遊戲程式,非常的簡單只要你小時候會玩井字遊戲即可把電腦打敗,可以說是一種考智力取勝的遊戲。
兒童期 7 青春期 兩性圓舞曲 乘客:七年級同學 司機:張立杰老師.
第一章 認識 Visual Basic 本章投影片僅供本書上課教師使用,非經同意請勿拷貝或轉載
星星知我心 談古話今….. ……..觀星望斗 主講人: 陽光青春美少男.
反垃圾掩埋場相關報告 組長:文煊 組員:鄭侃文 李浩暐 胡育睿 李瑞耘 朱祐賢 林承宇.
近代的中华民族可谓多灾多难,饱受了西方列强的侵略。在前两课的学习中,我们已经了解了西方列强发动的两次侵略战争,下面我们来简单地回顾一下,这两次战争的名字叫什么?侵略者分别是谁? 在中国近代史上,侵略中国时间最长、危害最大的是哪个国家?
"性"不"性"由你 性別平等之探討 北屯國小 張文陵.
第7章 C#函數與.NET Framework類別函數庫
組員: 洪暐翔、 賴峻毅 侯家豪、 賴琦穎 指導老師: 王惠鈴 老師
客户端用Net-Library和SQL SERVER连接
課程名稱:程式設計 授課老師:________
面向对象程序设计 (Visual C# .NET)
网 络 课 程 马 鞍 学 网 络 山 课 程 大 络 网 Visual Basic程序设计 第 一 讲 最容易接受的编程语言
C#程序设计 10软件1、2班 王槐彬 计算机工程学院.
Visual Basic.NET 程序设计语言课程内容
本章投影片僅供本書上課教師使用,非經同意請勿拷貝或轉載
題目:台灣客運 南臺科技大學 機械工程系 班級:奈米一乙 學號:4A 姓名:蔡政堯 授課教師:謝慶存
Ch03 VB.NET語法建立ASP.NET 網頁程式設計.
第1章 程式語言與Visual Basic的基礎
CH10.
第ㄧ章 認識 VB 2008 與主控台應用程式 注意:本投影片僅供上課使用,非經同意,請勿散播或轉載。
程式簡介、VB、物件導向 國立北門高中 林明璋.
CH11.
第17章 使用B4J建立跨平台應用程式 17-1 認識B4J整合開發環境 17-2 下載與安裝B4J開發環境
Visual C# 2010 程式設計經典 第15章 ADO .NET與資料工具.
建立VB.NET應用程式 資管系 助理教授 詹曉苓.
第2章 建立Visual Basic應用程式 2-1 如何設計Visual Basic應用程式 2-2 建立主控台應用程式
第2章 建立Visual Basic應用程式.
淺談Visual C# 程式設計 國立台灣師大附中 李啟龍 Jason.
巨集病毒與VBA.
第15章 数据报表与数据图表.
程式語言 -Visual Basic 變數、常數與資料型態.
第16章 VB.NET物件導向與.NET Framework
第20章 LINQ 資料查詢技術 注意: 本投影片僅供本書上課教師使用,非經同意請勿上網轉載或拷貝.
課程名稱:資料庫系統 授課老師:李春雄 博士
第2章 ADO.NET 2.0概述.
第十四章 資料庫應用程式 14.1 ADO.NET簡介 14.4 資料的單筆巡覽、新增、 修改、刪除
第18章 B4J的跨平台應用程式開發 18-1 B4J的GUI設計工具與介面控制項 18-2 使用B4J的介面控制項
第8章 数据的排序、搜 索和过滤.
第一章 VB概述 本章重点和难点 1.1 VB 概述 1.2 面向对象的程序设计方法基础
第4章 視窗應用程式的基本輸出入 4-1 物件基礎程式設計 4-2 表單控制項 4-3 按鈕控制項 4-4 資料輸出的標籤控制項
第10章 視窗應用程式的工具列與功能表.
移动电子商务 第十二章 Windows Mobile应用案例 倚动软件工厂实验室.
程式設計 Visual Basic簡介 週次:1 建國技術學院 資管系 饒瑞佶 2003年9月17日.
程式語言Visual Basic 傳址與傳值
Ch03 基本輸出入介面設計 視窗程式設計 授課教師:王大瑾.
Visual Basic程序设计.
C# 程序设计教程 同济大学计算机系基础学科组
第 8 章 VB.NET与数据库应用程序 本章主要内容: ADO.NET体系结构; VB.NET与SQL Server数据库的连接;
Visual Basic.NET 程序设计语言课程内容
第4章 視窗應用程式的基本輸出入 4-1 物件基礎程式設計 4-2 表單控制項 4-3 按鈕控制項 4-4 資料輸出的標籤控制項
題目:南台飲料店結帳系統 南台科技大學 機械工程系 車輛一甲 學號:4A
第五讲 酒店客房管理系统(一) 教育部“十二五”职业教育国家规划教材
VB语言程序设计教程.
劉崇汎 崑山科技大學 電腦與通訊系 DLL的建立與引用 劉崇汎 崑山科技大學 電腦與通訊系
SQL Server Mobile 2005 程序开发(三)
巨集與自訂工具列.
計算機程式及實習 Computer Program Design and Experiment) 期末報告ppt製作 南台科技大學 機械工程系 題目:南台電影城結帳系統 班級 : 車輛一甲 學號 : 4A 授教學生: 阮偉倫 授課老師: 謝慶存.
第 11 章 功能表列與工具列的設計 & 第 10 章 檔案.
兒少保護通報處理流程介紹 臺中市家庭暴力及性侵害防治中心 陳秀婷/張美慧 社工督導員 2012/10/19.
DEV342 Visual Basic 2005: 应用程序框架 和高级语言特性
1位选手参加了歌唱比赛,评委们的评分如下:
Presentation transcript:

第16章 Windows Form與資料繫結 16-1 資料繫結的基礎 16-2 在專案新增資料來源 16-3 使用資料來源建立單筆編輯表單 16-4 設計階段的資料繫結 16-5 執行階段的資料繫結 16-6 資料顯示的DataGridView控制項

16-1 資料繫結的基礎 16-1-1 認識資料繫結 16-1-2 執行與設計階段的資料繫結

16-1-1 認識資料繫結 -說明 在Windows Form表單可以使用資料繫結(Data Binding)技術,將外部資料整合到控制項,輕鬆在表單顯示資料內容。 資料繫結(Data Binding)是一種.NET Framework提供的強大功能,屬於一種高擴充性、可重複使用和容易維護的技術,可以將外部資料整合到Windows Form控制項,如同建立一座雙向橋樑來連接控制項屬性和外部的資料來源。

16-1-1 認識資料繫結 - Windows Form與資料繫結 資料繫結與Windows Form表單擁有密切的關係,因為資料繫結技術可以將Windows Form表單的TextBox、ComboBox、ListBox和DataGridView等控制項屬性連接至外部資料來源的DataSet或DataView等ADO.NET物件,如下圖所示:

16-1-1 認識資料繫結 - Windows Form的資料提供者 Windows Form表單是使用.NET Framework的資料繫結技術將控制項屬性連接到外部的可用資料(Data),在此的可用資料可以是單純資料、物件屬性,控制項名稱的集合物件等,.NET Framework可以將資料視為類別的屬性來存取。 事實上,Windows Form的資料提供者可以是任何實作IList介面的物件(在.NET Framework 1.0和1.1版),例如:集合、陣列、DataSet、DataTable、DataView、DataColumn和DataViewManager等物件。 在.NET Framework 2.0版新增BindingSource物件,可以作為Windows Form資料提供者。

16-1-1 認識資料繫結 - 資料繫結的種類 在Windows Form表單使用的資料繫結技術可以分為兩種:簡單和複雜資料繫結。其說明如下所示: 簡單資料繫結(Simple Data Binding):控制項只能連接和顯示單一資料元素,即資料表單一記錄的指定欄位值,常用控制項有TextBox和Label控制項等。 複雜資料繫結(Complex Data Binding):複雜資料繫結也稱為「清單基礎資料繫結」(List-based Data Binding),可以連接超過一個以上資料元素的清單,以資料表來說就是多筆記錄,常用控制項有ComboBox、ListBox和DataGridView控制項等。

16-1-2 執行與設計階段的資料繫結- 設計階段的資料繫結(步驟) 設計階段的資料繫結是在Visual Studio建立應用程式時,就已經預先建立Windows Form控制項的資料繫結,其基本步驟如下所示: Step 1:使用Visual Studio的資料來源(Data Source)管理介面,即VS Express for Desktop的「資料來源」視窗和資料來源組態精靈建立資料來源,或在專案加入【資料集】項目,使用TableAdapter組態精靈來建立資料來源的DataSet物件。 Step 2:在「資料來源」和「屬性」視窗,拖拉項目或指定屬性值來建立資料繫結。

16-1-2 執行與設計階段的資料繫結- 設計階段的資料繫結(新增物件) 在Windows Form表單控制項使用資料來源建立資料繫結後,Visual Studio會自動在元件匣新增DataSet、BindingSource、TableAdapter和BindingNavigator等物件,如下圖所示:

16-1-2 執行與設計階段的資料繫結- 設計階段的資料繫結(物件說明) BindingSource物件:資料來源和控制項間的連接,它連接的是單一資料表的資料,即DataTable物件,簡單的說,透過它可以設定連接至DataSet物件的哪一個資料表,並且提供控制功能來移動、新增和刪除資料。 TableAdapter物件:其功能類似DataAdapter物件,可以支援資料來源的資料表來執行多次查詢。換句話說,單一TableAdapter物件,就可以更新DataSet物件中,多個資料表的記錄資料。 BindingNavigator物件:瀏覽資料來源DataSet物件的工具列控制項,提供按鈕來移至前一筆、下一筆、新增、編輯和刪除記錄資料。

16-1-2 執行與設計階段的資料繫結- 執行階段的資料繫結 執行階段的資料繫結是在執行Visual Basic應用程式時,使用程式碼建立資料來源的物件後,直接以程式碼指定控制項屬性來建立資料繫結,如下圖所示:

16-2 在專案新增資料來源-說明 Visual Studio提供資料來源(Data Source)管理介面,在VS Express for Desktop就是「資料來源」視窗和資料來源組態精靈,可以幫助我們快速建立資料繫結所需的資料來源。 在VS Express for Desktop可以使用資料來源組態精靈在專案新增資料庫、Web服務或物件的資料來源(Data Source),資料來源事實上就是「具型別DataSet」(Typed DataSet)的別名。

16-2 在專案新增資料來源- 具型別DataSet 具型別DataSet:實作的程式碼是繼承DataSet類別來實作資料表欄位與物件屬性間的對應,可以直接使用物件屬性來存取資料表欄位,因為物件屬性的型別就是對應資料表欄位的型別,在編譯前就已經知道欄位型別,所以稱為具型別DataSet。 不具型別DataSet:在第15章使用ADO.NET程式碼建立的DataSet物件是一種「不具型別DataSet」(Untyped DataSet),因為我們只能使用欄位名稱字串或原始順序值來存取欄位值,在編譯前並不知道欄位型別,所以稱為不具型別DataSet。

16-2 在專案新增資料來源-Visual Basic專案 Visual Basic專案:Ch16-2 在Visual Basic專案建立連接【選課系統.mdf】資料庫的資料來源,即新增名為【選課系統DataSet】的具型別DataSet物件,如右圖所示:

16-3 使用資料來源建立單筆編輯表單-說明 在「資料來源」視窗 展開資料表清單,按【教授】資料表後的向下箭頭,可以看到一個功能表,選【DataGridView】可以使用瀏覽方式來顯示記錄資料,並且自動建立資料繫結所需的相關物件,如果在資料表後選【詳細資料】,就可以拖拉建立單筆記錄編輯功能所需的控制項,如右圖所示:

16-3 使用資料來源建立單筆編輯表單- Visual Basic專案 Visual Basic專案:Ch16-3 在Windows應用程式已經建立第7-2節的資料來源後,我們就可以新增【課程】資料表的單筆編輯控制項,如下圖所示:

16-3 使用資料來源建立單筆編輯表單- 導覽工具列 在導覽工具列提供記錄編輯和相關按鈕來移動資料表的記錄資料,可以移至前一筆、下一筆、第1筆和最後1筆,如下圖所示:

16-3 使用資料來源建立單筆編輯表單- 自動建立的元件 當我們將資料來源的項目拖拉至表單後,VS Express for Desktop自動在表單下方的元件匣新增相關物件,如下圖所示:

16-3 使用資料來源建立單筆編輯表單- 自動建立的程式碼 請開啟程式碼編輯視窗,可以看到VS Express for Desktop自動產生的程式碼,如下圖所示:

16-3 使用資料來源建立單筆編輯表單-課程BindingNavigatorSaveItem_Click() 導覽工具列儲存按鈕的事件處理程序是使用TableAdapterManager物件的UpdateAll()方法來更新整個DataSet物件至資料來源,也就是將更改的記錄資料寫回資料庫,如下所示: Me.TableAdapterManager.UpdateAll( Me.選課系統DataSet) 上述TableAdapterManager物件的UpdateAll()方法可以同時更新DataSet物件的所有資料表,包含教授和課程資料表。

16-4 設計階段的資料繫結 16-4-1 TextBox與Label控制項的簡單資料繫結 16-4-2 ComboBox控制項的複雜資料繫結

16-4-1 TextBox與Label控制項的簡單資料繫結- 說明 TextBox或Label控制項輸入和顯示的都是單一值,所以可以使用簡單資料繫結(Simple Data Binding)來顯示或編輯資料表的指定欄位值。 在表單建立TextBox或Label控制項後,就可以在控制項的「屬性」視窗展開【(DataBindings)】屬性,指定【Text】屬性使用的資料來源BindingSource物件的屬性值,即可建立控制項的簡單資料繫結。

16-4-1 TextBox與Label控制項的簡單資料繫結-Visual Basic專案 Visual Basic專案:Ch16-4-1 在Windows應用程式加入【學生】資料表的資料來源後,就可以在TextBox和Label控制項建立簡單資料繫結,顯示學生姓名和生日欄位,如下圖所示:

16-4-2 ComboBox控制項的複雜資料繫結-說明 ComboBox控制項是使用複雜資料繫結(Complex Data Binding)來連接資料表中的多筆記錄,可以使用一筆記錄為一個項目來顯示多筆記錄資料。 ComboBox控制項最常使用在選取資料表的關聯欄位值,例如:建立使用【教授】資料表姓名和編號項目的ComboBox控制項後,就可以在【課程】資料表,使用此ComboBox控制項來選取關聯欄位【教授編號】的值。

16-4-2 ComboBox控制項的複雜資料繫結-屬性

16-4-2 ComboBox控制項的複雜資料繫結-建立 在VS Express for Desktop可以在「屬性」視窗,或開啟「ComboBox工作」功能表來指定屬性或欄位值。簡單的說,在ComboBox控制項的每一個清單項目都有兩個值,一是顯示給使用者選擇的DisplayMember欄位值;另一個是實際儲存的ValueMember欄位值。 至於如何將它對應到關聯欄位,就是使用SelectedValue屬性,它可以對應ComboBox控制項的ValueMember屬性的欄位。 在【課程】資料表的【教授編號】欄位就是SelectedValue屬性,其值是對應ValueMember欄位值,如此可以在ComboBox控制項顯示正確的【教授姓名】。

16-4-2 ComboBox控制項的複雜資料繫結-Visual Basic專案 Visual Basic專案:Ch16-4-2 在Windows應用程式建立【課程】資料表的編輯介面,這是使用複雜資料繫結來建立ComboBox控制項,可以選取關聯欄位的【教授編號】的值,如下圖所示:

16-5 執行階段的資料繫結-說明 執行階段的資料繫結如同設計階段,一樣可以建立簡單與複雜資料繫結,當我們在Visual Basic應用程式建立DataSet物件的資料來源後,就可以在指定控制項建立簡單與複雜資料繫結。

16-5 執行階段的資料繫結- 建立TextBox控制項的簡單資料繫結 當使用DataAdapter物件建立資料來源的DataSet物件objDataSet後,就可以在控制項屬性建立簡單資料繫結,首先使用控制項的DataBindings屬性取得控制項的ControlBindingsCollection集合物件,如下所示: txtNo.DataBindings.Add("Text", objDataSet.Tables("學生"), "學號")

16-5 執行階段的資料繫結- 建立複雜資料繫結的資料來源(說明) 對於控制項的複雜資料繫結,例如:ComboBox控制項,我們準備使用物件陣列建立ComboBox控制項的資料繫結,可以顯示項目清單的性別【男】和【女】,並且將項目的值繫結至DataSet物件的【性別】欄位。 首先需要建立ComboBox控制項的資料來源,可以是DataSet物件,以此例是使用物件陣列。

16-5 執行階段的資料繫結- 建立複雜資料繫結的資料來源(類別1) Class Gender Private _Name As String Private _Value As String Public Sub New(ByVal myName As String, ByVal myValue As String) _Name = myName _Value = myValue End Sub Property Name() As String Get Return _Name End Get Set(ByVal Value As String) _Name = Value End Set End Property

16-5 執行階段的資料繫結- 建立複雜資料繫結的資料來源(類別2) Property Value() As String Get Return _Value End Get Set(ByVal Value As String) _Value = Value End Set End Property End Class

16-5 執行階段的資料繫結- 建立複雜資料繫結的資料來源(物件陣列) 然後就可以建立性別的物件陣列,如下所示: Dim Genders() As Gender = { New Gender("男", "男"), New Gender("女", "女")} 上述程式碼建立2個元素的物件陣列,其Name和Value屬性值相同都是男和女。

16-5 執行階段的資料繫結- 建立ComboBox控制項的複雜資料繫結1 接著使用物件陣列作為資料來源,建立ComboBox控制項的資料繫結,因為是使用複雜資料繫結,所以需要指定DataSource、DisplayMember和ValueMember屬性,如下所示: cboGender.DataSource = Genders cboGender.DisplayMember = "Name" cboGender.ValueMember = "Value"

16-5 執行階段的資料繫結- 建立ComboBox控制項的複雜資料繫結2 ComboBox控制項會將選取項目的值寫入SelectedValue屬性值所繫結的欄位,我們可以使用簡單資料繫結來建立SelectedValue屬性所連接資料來源的成員,如下所示: cboGender.DataBindings.Add("SelectedValue", objDataSet.Tables("學生"), "性別")

16-5 執行階段的資料繫結-Visual Basic專案 Visual Basic專案:Ch16-5 在Windows應用程式使用執行階段資料繫結來建立【學生】資料表的單筆編輯介面,內含ListBox控制項選擇編輯的學生姓名,以ComboBox控制項選取性別,如下圖所示:

16-6 資料顯示的DataGridView控制項- 說明 DataGridView控制項可以顯示各種表格資料,以資料庫來說,就是顯示資料表的記錄資料,每一列是一筆記錄;每一欄對應資料表的一個欄位,上方擁有BindingNavigator導覽工具列可以提供完整記錄移動和編輯功能。 Visual Basic專案只需使用VS Express for Desktop加入資料來源的具型別DataSet物件,就可以使用資料繫結在設計階段直接拖拉資料來源的資料表圖示,即可建立DataGridView控制項。

16-6 資料顯示的DataGridView控制項- Visual Basic專案 Visual Basic專案:Ch16-6 在Windows應用程式使用設計階段的資料繫結,使用資料來源新增DataGridView控制項,以瀏覽方式顯示【教授】資料表的記錄資料,並且加入表單建立單筆編輯所需的控制項,如下圖所示:

End