《数据绑定在Windows窗体中的应用》由会员分享,可在线阅读,更多相关《数据绑定在Windows窗体中的应用(23页珍藏版)》请在金锄头文库上搜索。
1、第6章 数据绑定在Windows窗体中的应用 前一页 休息1数据绑定在Windows窗体中的应用Stillwatersrundeep.流静水深流静水深,人静心深人静心深Wherethereislife,thereishope。有生命必有希望。有生命必有希望第6章 数据绑定在Windows窗体中的应用 前一页 休息2南京理工大学计算机学院 6.1 数据数据绑定和定和Windows窗体窗体第6章 数据绑定在Windows窗体中的应用 前一页 休息3数据绑定和数据绑定和Windows窗体窗体在在Windows窗体中,不窗体中,不仅可以可以绑定到定到传统的数据源,的数据源,还可以可以绑定到几乎所有包含
2、数据的定到几乎所有包含数据的结构。构。可以可以绑定到定到值的数的数组,这些些值是在运行是在运行时计算,算,可可从某个文件从某个文件读取的或者从其他控件的取的或者从其他控件的值派生。派生。在在传统的数据的数据绑定中,通常将定中,通常将显示属性(例如,示属性(例如,TextBox控件的控件的Text属性)属性)绑定到数据源。使用定到数据源。使用.NET框架,框架,还可以可以选择通通过绑定定设置其他属性。置其他属性。一些一些绑定用途的示例包括:定用途的示例包括:设置置图像(像(Image)控件的)控件的图形。形。设置一个或多个控件的背景色。置一个或多个控件的背景色。设置控件的大小。置控件的大小。数据
3、数据绑定已定已经成成为了运行了运行时控件属性的一种自控件属性的一种自动化化设置手段置手段。南京理工大学计算机学院第6章 数据绑定在Windows窗体中的应用 前一页 休息4数据绑定的类型数据绑定的类型Windows窗体可以利用两种窗体可以利用两种类型的数据型的数据绑定:定:简单绑定和复定和复杂绑定定:(1) 简单数据数据绑定定 简单数据数据绑定指将一个控件定指将一个控件绑定到定到单个数据元素(如数据个数据元素(如数据集表的列中的集表的列中的值)的能力。)的能力。这是用于控件,如是用于控件,如TextBox控件控件或或Label控件(即通常只控件(即通常只显示示单个个值的控件)的典型的控件)的典
4、型绑定定类型。事型。事实上,控件上的任何属性都可以上,控件上的任何属性都可以绑定到数据定到数据库中的中的字段。字段。(2) 复复杂数据数据绑定定 复复杂数据数据绑定指将一个控件定指将一个控件绑定到多个数据元素的能力,定到多个数据元素的能力,通常通常绑定到数据定到数据库中的多条中的多条记录,或者,或者绑定到多个任何其定到多个任何其他他类型的可型的可绑定数据元素。支持复定数据元素。支持复杂绑定的控件的示例有定的控件的示例有DataGrid、ListBox和和ErrorProvider控件。控件。南京理工大学计算机学院第6章 数据绑定在Windows窗体中的应用 前一页 休息5使用数据绑定的常见方案
5、使用数据绑定的常见方案(1) 报表表报表提供了一种在打印文档中表提供了一种在打印文档中显示和示和汇总数数据的灵活方式。一种非常常据的灵活方式。一种非常常见的情况是的情况是创建建一份将数据源的一份将数据源的选定内容定内容输出到屏幕或打印出到屏幕或打印机的机的报表。常表。常见的的报表包括列表、表包括列表、发票和摘票和摘要。要。这些些项通常格式化通常格式化为列表中的列,在每列表中的列,在每个列表个列表项下下组织子子项,但最明智的方式始,但最明智的方式始终是是选择最适合数据的布局。最适合数据的布局。南京理工大学计算机学院第6章 数据绑定在Windows窗体中的应用 前一页 休息6使用数据绑定的常见方案
6、使用数据绑定的常见方案(2) 数据数据输入入输入大量相关数据或提示用入大量相关数据或提示用户输入信息的一入信息的一种常用方法是使用数据种常用方法是使用数据输入窗体。用入窗体。用户可以可以使用文本框、使用文本框、选项按按钮、下拉列表和复、下拉列表和复选框框输入信息或入信息或选择选项。信息随之提交并存。信息随之提交并存储到数据到数据库中,中,该数据数据库的的结构基于所构基于所输入的入的信息。信息。南京理工大学计算机学院第6章 数据绑定在Windows窗体中的应用 前一页 休息7使用数据绑定的常见方案使用数据绑定的常见方案(3) 主控主控/详细关系关系主控主控/详细应用程序是一种用来用程序是一种用来
7、查看相关数据看相关数据的格式。具体地的格式。具体地讲,有两个数据表,它,有两个数据表,它们之之间通通过某种关系相某种关系相连接(如在接(如在经典的商典的商业示示例中,例中,“顾客客”表和表和“订单”表之表之间存在一存在一种将种将顾客与其各自的客与其各自的订单链接起来的关系)。接起来的关系)。南京理工大学计算机学院第6章 数据绑定在Windows窗体中的应用 前一页 休息8使用数据绑定的常见方案使用数据绑定的常见方案(4) 表表查找找另一个常另一个常见的数据表示的数据表示/操作方案是表操作方案是表查找。找。作作为大量数据大量数据显示的一部分,示的一部分,ComboBox控控件件经常用于常用于显示
8、和操作数据。关示和操作数据。关键在于在于ComboBox控件中控件中显示的数据与写入数据示的数据与写入数据库中的数据不同。中的数据不同。南京理工大学计算机学院第6章 数据绑定在Windows窗体中的应用 前一页 休息9南京理工大学计算机学院 6.2简单数据数据绑定与复定与复杂数据数据绑定定第6章 数据绑定在Windows窗体中的应用 前一页 休息10简单数据绑定与复杂数据绑定简单数据绑定与复杂数据绑定简单绑定意味着将数据集(定意味着将数据集(Dataset)中的)中的单个个值绑定到控件或窗体属性上。定到控件或窗体属性上。组件的任何件的任何属性都能属性都能绑定到数据集中的定到数据集中的值。复复杂
9、数据数据绑定意味着定意味着组件能件能够绑定到数据集。定到数据集。能能够应用复用复杂绑定的定的组件包括件包括DataGrid控件控件和和Combobox控件。控件。南京理工大学计算机学院第6章 数据绑定在Windows窗体中的应用 前一页 休息11简单数据绑定与复杂数据绑定简单数据绑定与复杂数据绑定将数据表将数据表绑定定到文本框到文本框组件件TextBox TextBox1 = new System.Windows.Forms.TextBox ( ) ;TextBox1.DataBindings.Add ( new System.Windows.Forms. Binding(Text, data
10、Set1, 学生通学生通讯表表.联系系电话 ) ) ;将数据表将数据表绑定定到到组合框合框组件件ComboBox comboBox1 = new System.Windows.Forms.ComboBox ( ) ;comboBox1.DataBindings.Add(new System.Windows.Forms.Binding ( Text, dataSet1, 学生通学生通讯表表.联系系电话 ) ) ;comboBox1.DataSource = dataSet1 ;将数据表将数据表绑定到网定到网络控件控件DataGrid dataGrid1 = new System.Windows.
11、Forms.DataGrid ( ) ;dataGrid1.DataMember = 学生通学生通讯表表 ;dataGrid1.DataSource = this.dataSet1 ;南京理工大学计算机学院第6章 数据绑定在Windows窗体中的应用 前一页 休息12南京理工大学计算机学院 6.3 Windows窗体数据窗体数据绑定的可定的可选数据源数据源第6章 数据绑定在Windows窗体中的应用 前一页 休息13数据绑定的可选数据源数据绑定的可选数据源(1) DataTableDataTable为一个数据表,其中包含两个集合:一个数据表,其中包含两个集合:DataColumn,代表指定表中
12、的数据列(最,代表指定表中的数据列(最终决定决定可以可以输入表中的数据入表中的数据类型);型);DataRow,代表指定,代表指定表中的数据行,也就是表中包含的表中的数据行,也就是表中包含的实际数据。数据。/简单绑定定DataTable t = DataSet1.TablesSuppliers;TextBox Text1 = new TextBox ( ) ;Text1.Bindings.Add(Text, t, CompanyName ) ;/复复杂绑定定CornboBox Combo1 = new ComboBox( ) ;Combo1.DataSource = t ;Combo1.Dis
13、playMember = CompanyName ;南京理工大学计算机学院第6章 数据绑定在Windows窗体中的应用 前一页 休息14数据绑定的可选数据源数据绑定的可选数据源(2) DataViewDataView为单个个DataTable的定制的定制视图,可能的定,可能的定制操作包括制操作包括筛选、检索或排序。索或排序。DataView是由复是由复杂绑定控件使用的数据定控件使用的数据“快照快照”。/简单绑定定DataView dv = new Dataview( DataSet1.TablesSuppliers ) ;TextBox Text1 = new TextBox( ) ;Text
14、1.Bindings.Add( Text , dv , CompanyName ) ;/ 复复杂绑定定ComboBox Combo1 = new ComboBox ( ) ;Combo1.DataSource = dv ;Combo1.DisplayMember = CompanyName ;南京理工大学计算机学院第6章 数据绑定在Windows窗体中的应用 前一页 休息15数据绑定的可选数据源数据绑定的可选数据源(3) DatasetDataset是存在于内存中的由表、关系和是存在于内存中的由表、关系和约束束组成的存成的存储块。每个表都有列的集合,每个表都有列的集合,这些列代表了些列代表了D
15、ataset的布局。每个的布局。每个表都可以包含多个行,它表都可以包含多个行,它们代表了代表了Dataset中的数据。中的数据。这些些数据知道它数据知道它们的原始状的原始状态和当前状和当前状态。因此,。因此,Dataset可以可以跟踪已跟踪已发生的生的变化。化。/简单绑定定TextBox Text1 = new TextBox ( ) ;Text1.Bindings.Add ( Text , Dataset1, Suppliers.CompanyName ) ;/复复杂绑定定ComboBox Combo1 = new ComboBox ( ) ;Combo1.DataSource = Data
16、set1 ;Combo1.DisplayMember = Suppliers.CompanyName ;南京理工大学计算机学院第6章 数据绑定在Windows窗体中的应用 前一页 休息16数据绑定的可选数据源数据绑定的可选数据源(4) DataSetViewDataSetView代表整个代表整个DataSet的定制的定制视图,它与,它与DataView类似,但其中似,但其中还包括了关系。使用包括了关系。使用TableSetting集合可以集合可以设置默置默认筛选和排序和排序选项。/简单绑定定DataSetView dsv = new DataSetView (DataSet1 ) ;TextB
17、ox Text1 = new TextBox ( ) ;Textl.Bindings.Add ( Text , dsv, Suppliers.CompanyName ) ;/ 复复杂绑定定ComboBox Combo1 = new ComboBox ( ) ;Combo1.DataSource = dsv ;Combo1.DisplayMember = Suppliers.CompanyName ;南京理工大学计算机学院第6章 数据绑定在Windows窗体中的应用 前一页 休息17数据绑定的可选数据源数据绑定的可选数据源(5) 数数组数数组为变量中包含的数据的有序集合。使用索引可量中包含的数据
18、的有序集合。使用索引可以以访问数数组中的成中的成员。String myArray = new String 3 Red , Blue , Green ;/简单绑定定TextBox Text1 = new TextBox ( ) ;Text1.Bindings.Add ( Text , myArray , ) ;/ 复复杂绑定定ComboBox Combo1 = new ComboBox ( ) ;Combo1.DataSource = myArray ;如下示例如下示例为TextBox控件数控件数组与数据的与数据的绑定:定:TextBox arrTextBoxes = new TextBox
19、2 ;/ 填充数填充数组,绑定到定到TextBox的的Text属性属性Label1.Bindings.Add ( Text , arrTextBoxes , Text ) ;南京理工大学计算机学院第6章 数据绑定在Windows窗体中的应用 前一页 休息18数据绑定的可选数据源数据绑定的可选数据源(6) 集合集合集合集合为包含零个或多个包含零个或多个对象的象的对象,象,这些些对象的象的类型通常型通常为简单类。 RowCollection myRows = DataSet1.Tables Suppliers .Rows ;TextBox Text1 = new TextBox ( ) ;Text
20、1.Bindings.Add ( Text , mRows , FirstName ) ;(7) DataRowDataRow为横向交叉表中横向交叉表中实际包含数据的包含数据的对象。每象。每个个DataRow都由三个都由三个DataRowView组成:一个成:一个为行的当前状行的当前状态,一个,一个为行的原始状行的原始状态;一个;一个为行的行的建建议状状态。南京理工大学计算机学院第6章 数据绑定在Windows窗体中的应用 前一页 休息19数据绑定的可选数据源数据绑定的可选数据源(8) DataRowViewDataRowView为筛选后的后的DataRow视图。例如,被。例如,被删除的除的行
21、行值。(9) CurrencyManager通通过数数组管理位置。管理位置。虽然然过去使用去使用MoveNext,MovePrevious方法,但方法,但现在位置是在位置是递增的(即增的(即Position = Position + 1)。)。(10) DataColumnDataColumn为DataTable中的一个数据列。中的一个数据列。DataTable中中DataColumn对象的集合定象的集合定义了表的了表的结构。构。该对象最重要的象最重要的属性属性为DataType,它定,它定义了其中可包含的数据了其中可包含的数据类型,例如型,例如Int32、String、Currency等。等
22、。(11) BindingBinding用于表字段到控件属性的用于表字段到控件属性的简单绑定。定。南京理工大学计算机学院第6章 数据绑定在Windows窗体中的应用 前一页 休息20南京理工大学计算机学院 6.4 创建建简单绑定控件定控件第6章 数据绑定在Windows窗体中的应用 前一页 休息21将控件的属性绑定到数据值步骤将控件的属性绑定到数据值步骤 在窗体中在窗体中选择将将进行数据行数据绑定的控件。定的控件。 展开展开DataBindings属性,如属性,如图5 - 1所示。所示。经常用到的数据常用到的数据绑定属性列于定属性列于DataBindings下。例如,在大多数控件中,下。例如,
23、在大多数控件中,Text属性是最属性是最常使用的常使用的绑定属性。定属性。 如果希望如果希望绑定的属性未被列出,定的属性未被列出,请单击“(高(高级)”框中的框中的“省略号省略号”按按钮,以,以显示示“高高级数据数据绑定定”对话框。框。该对话框中包框中包含含该控件属性的完整列表。控件属性的完整列表。 单击将将绑定的属性右定的属性右侧的下拉箭的下拉箭头,则将将显示可用的数据源清示可用的数据源清单。南京理工大学计算机学院第6章 数据绑定在Windows窗体中的应用 前一页 休息22将控件的属性绑定到数据值步骤将控件的属性绑定到数据值步骤 展开将与其展开将与其绑定的数据源,直到找到所需定的数据源,直
24、到找到所需的的单个数据元素。例如,如果将一个列个数据元素。例如,如果将一个列值绑定到数据集的表中,定到数据集的表中,则应展开数据集名,然展开数据集名,然后展开表名以后展开表名以显示列名。示列名。 单击将将绑定的元素名。定的元素名。 如果正在如果正在“高高级数据数据绑定定”对话框中工作,框中工作,请单击“关关闭”返回到返回到“属性属性”窗口。窗口。 如果希望如果希望绑定控件的其他属性,定控件的其他属性,则应重复重复至至步。由于步。由于简单绑定控件只定控件只显示示单个数个数据元素,因此通常在据元素,因此通常在带有有简单绑定控件的窗定控件的窗体内包含体内包含导航航逻辑。南京理工大学计算机学院第6章 数据绑定在Windows窗体中的应用 前一页 休息23南京理工大学计算机学院23南京理工大学计算机学院23