} }
§8.10 DataRow对象
DataRow对象允许查看并修改DataTable中行的内容,可以使用DataTable对象的Rows属性来将一个DataRow对象指派给DataTable的特定行。
8.10.1 常用属性
HasErrors:获取一个值,该值指示某行是否有错。
Item:获取或设置存储在指定列中的数据。 在C# 中,该属性为DataRow类的索引器。
ItemArray:通过数组获取或设置此行的所有值。 RowError:获取或设置行的自定义错误说明。
RowState:获取该行与它和DataRowCollection的关系相关的当前状态。 Table:获取该行拥有其架构的DataTable。
8.10.2 公共方法
AcceptChanges:提交自上次调用AcceptChanges以来对该行进行的所有更改。
BeginEdit:对DataRow对象开始编辑操作。 CancelEdit:取消对该行的当前编辑。
ClearErrors:清除该行的错误,包括RowError和用SetColumnError设置的错误。
Delete:删除DataRow。
EndEdit:终止发生在该行的编辑。
IsNull:已重载。获取一个值,该值指示指定列是否包含空值。
RejectChanges:拒绝自上次调用AcceptChanges以来对该行进行的所有更改。
具体使用参见上节例。
当添加一行时,实际上是添加一DataRow对象。
§8.11 数据绑定
把数据链接到数据源的过程称为数据绑定,数据绑定分得简单数据绑定和复杂数据绑定。
8.11.1 简单绑定
简单数据绑定指将数据链接到一个简单的控件,如文本框、单选按钮等。在绑定时,可以把任何列绑定到任何属性上。“简单绑定”使您得以在控件中显示单个数据元素,如来自数据集表的列值。
因为简单绑定控件仅显示单个数据元素,所以通常在具有简单绑定控件的Windows窗体中包含导航逻辑。
简单数据绑定的方法有两种:
(1)通过欲绑定数据的控件的DataBindings属性通过可视化方法进行绑定。
(2)通过创建Binding类的实例,将其添加到控件的DataBindings属性中。 Binding类主要是把控件的一个属性链接到数据源的一个列上,当列值改变时,其变化会反映到控件上。当然控件的变化,在提交后也会反映数据源中。用代码绑定数据源主要使用Binding类中的D ataBinding属性的Add方法。其格式如下:
控件名.DataBindings.Add(”控件属性”,数据集,”表名.列名”)
例:textBox1.DataBindings.Add(new Binding(“Text”, mydataset, “lesson.xh”));
解决绑定:
If(textBox1.DataBindings[“Text”]!=null)
textBox1.DataBindings.Remove(textBox1.DataBindings[“Text”])
例:简单数据绑定示例。
8.11.2 复杂数据绑定
复杂数据绑定是指将数据源到能显示一组数据的控件,如组合框、列表框等控件,若想关联到某个表的某个字段,可以如下实现:
Controlname.DataSource=datasetname
Controlname.DisplayMember=”tablename.columnname”
Controlname.ValueMember=”tablename.columnname”
当ValueMember属性被绑定时,可用SelectValue属性取其值。 例:见复杂数据绑定示例。
8.11.2.1 用BindingManagerBase类对绑定进行管理
BindingManagerBase类,为绑定管理器,每一个数据源都有一个绑定管理器,其功能是管理绑定到相同数据源和数据成员的所有Binding对象。其常用成员如下:
成员名 Bindings Count 功能描述 获取所管理绑定的集合。 获取BindingManagerBase所管理的行数。 获取或设置绑定到该数据源的控件所指向的基础列表中的Position 位置。当改变指针位置时使用此属性 AddNew() 向基础列表添加一个新项。 RemoveAt() 从基础列表中删除指定索引处的行。 PositionChanged 每次绑定器移到新位置时,都会触发该事件。 类型 属性 属性 属性 方法 方法 8.11.2.2 BindingContext类
管理从Control类继承的任意对象的BindingManagerBase对象集合。 例:数据绑定示例。(见简单数据绑定示例)
注:对数据绑定的管理,在2005中最好将控件直接绑定到 BindingSource 组件,这个组件同时作为数据源和实际目标数据源的数据连接器。BindingSource 极大地简化了简单数据绑定和复杂数据绑定,包括管理控件与其目标之间的流量。
§8.12 BindingSource类
8.12.1 基本功能
BindingSource类提供了一个中间数据源,并与数据的所有进一步交互,包括定位、排序、筛选和更新。其绑定的数据源可以是表、对象及数组等,另外绑定到BindingSource组件的数据源也可以使用BindingNavigator类定位和管理,该类提供像VCR一样的用户界面 (UI) 用于定位列表中的项。
8.12.2 常用属性
AllowEdit AllowNew AllowRemove Count CurrencyManager Current DataMember DataSource Filter IsReadOnly IsSorted Item List Position Sort SupportsFiltering SupportsSearching SupportsSorting 获取一个值,该值指示是否可以编辑基础列表中的项。 获取或设置一个值,该值指示是否可以使用AddNew方法向列表中添加项。 获取一个值,它指示是否可从基础列表中移除项。 获取基础列表中的总项数。 获取与此BindingSource关联的当前项管理器。 获取列表中的当前项。 获取或设置连接器当前绑定到的数据源中的特定列表。 获取或设置连接器绑定到的数据源。 获取或设置用于筛选查看哪些行的表达式。 获取一个值,该值指示基础列表是否为只读。 获取一个值,该值指示是否可以对基础列表中的项排序。 获取或设置指定索引处的列表元素。 获取连接器绑定到的列表。 获取或设置基础列表中当前项的索引。 获取或设置用于排序的列名称以及用于查看数据源中的行的排序顺序。 获取一个值,该值指示数据源是否支持筛选。 获取一个值,它指示数据源是否支持使用Find方法进行搜索。 获取一个值,它指示数据源是否支持排序。 8.12.3 公共方法
名称 Add AddNew Clear Find Insert MoveFirst MoveLast 说明 将现有项添加到内部列表中。 向基础列表添加新项。 从列表中移除所有元素。 已重载。 在数据源中查找指定的项。 将一项插入列表中指定的索引处。 移至列表中的第一项。 移至列表中的最后一项。
相关推荐: