与数据绑定相关的接口(转)
利用 ADO.NET,可以创建大量不同的数据结构,以适合应用程序的绑定需要和正在使用的数据。有关在 ADO.NET 中数据绑定的信息,请参见分布式应用程序和数据集成介绍。也可以创建您自己的类来提供数据。这些对象可以提供各种级别的功能和复杂性,从基本的数据绑定,到提供设计时支持、错误检查或者甚至支持对数据本身所做更改的结构化回滚。
下面是接口对象的渐进式列表,从简单之至的到最复杂的,每个对象都比前一个对象提供更多的数据绑定功能。可以在与窗体关联的类内实现这些接口,以启用数据绑定;每种情况都介绍一个所实现接口启用与数据的交互的类。Visual Studio 的快速应用程序开发 (RAD) 数据设计实践工具已经利用了此功能。
- IList 接口
-
实现 <?XML:NAMESPACE PREFIX = MSHelp NS = "http://msdn.microsoft.com/mshelp" /> 接口的类可以是 、 或 。这些中的任何一个都是类型 的项的索引列表。这必须是一列同源类型,因为索引的第一个项确定类型。此类将仅可在运行时用于绑定。
注意 有关实现接口的详细信息,请参见 (Visual Basic) 或 (C# 关键字)。
- 类型化 IList 接口
-
这是类型化的 IList 接口的实现(也就是说,不只是对象,而是一类对象,例如经典商业数据库示例中的“Customers”)。Item 属性返回给定类型的项。实现类型化 IList 接口的类只可在运行时用于绑定。
在下面的示例中,自定义类型是
Customers
。 - 实现的 IList 和 IComponent 接口
-
通过实现这两种接口,数据在设计时(它将出现在组件栏中)和运行时都可用于绑定。
注意 虽然当前枚举的数据提供程序知道窗体上的控件对列表所做的更新,但它们不利用在代码中对列表的项所做的更新。如果需要这种更改通知,请使用下面描述的 接口的实现。
- IBindingList 接口
-
实现 接口的类提供了一种更高级别的数据绑定功能。此实现在列表本身更改时(例如,列表中的项的数量增加/减少)和列表项本身更改时(例如,客户列表中的第三项更改 Address 字段)都提供更改通知。
提示 通过设置 属性为 IBindingList 接口启用更改通知,当设置为 true 时,引发一个 事件,指示更改的列表或列表中的项。更改的类型由 ListChanged 事件的 ListChangeType 参数描述。因此,无论何时更新数据模型,也都将更新任何依赖视图。但是,请注意,在列表内包含的对象在更改时必须通知该列表,以便该列表可引发 ListChanged 事件。
- IEditableObject 接口
-
实现 接口的类允许对象控制何时对该对象的更改成为永久的。此实现提供 、 和 方法,这些方法使您得以回滚对该对象所做的更改。
注意 如果未实现 IEditableObject 接口,则无法回滚更改。在决定何种方法适合于要解决的问题时,请记住这一点。
以下简要解释 BeginEdit、EndEdit 和 CancelEdit 方法的功能,以及它们如何通过彼此协作,使对数据所作的更改的可能回滚得以实现。有关 BeginEdit、EndEdit 和 CancelEdit 方法如何工作的更多信息,请参见数据集更新介绍。
- BeginEdit 方法
发出开始对一个对象进行编辑的信号。实现此接口的对象将需要存储 BeginEdit 方法调用后的任何更新,这样,如果调用 CancelEdit 方法,则可以放弃这些更新。在数据绑定 Windows 窗体中,可以在单个编辑事务的范围内多次调用此方法(例如,BeginEdit,BeginEdit,EndEdit)。IEditableObject 接口的实现应跟踪是否已经调用了 BeginEdit 并忽略后面对 BeginEdit 的调用。因为可多次调用此方法,所以后面对它的调用应是非破坏性的,这一点很重要;也就是说,后面的 BeginEdit 调用不能销毁已做的更新或更改在第一次调用 BeginEdit 时保存的数据。
- EndEdit 方法
如果对象当前处于编辑模式,则将自调用 BeginEdit 后进行的任何更改都推入基础对象中。
- CancelEdit 方法
放弃对于对象所做的任何更改。
DataGrid 控件使用数据功能的这种“事务性”注记。
- BeginEdit 方法
- IDataErrorInfo 接口
-
实现 接口的类使对象得以提供控件可绑定到的自定义错误信息。此实现提供最高级别的数据绑定功能。具体地说,它返回两个字符串:
- 属性 — 返回常规错误信息文本(例如,“出现错误”)。
- 属性 — 返回一个包含来自列的特定错误信息的字符串(例如,“
State
列中的值无效”)。
注意 此功能已经在 Windows 窗体 DataGrid 和 ErrorProvider 控件提供的 RAD 设计方案中启用。
与数据绑定相关的接口(转)相关推荐
- html与java接口,JavaWeb学习——Servlet相关的接口和类
JavaWeb学习--Servlet相关的接口和类 摘要:本文主要学习了Servlet相关的接口和类. Servlet的接口和类 三种方式 实现Servlet有三种方式: 实现javax.servle ...
- 免费疫情相关的接口(亲测有效的哟)
由于疫情的袭来,严重影响了我们的工作以及学习,所以当我们想更加快速有效的了解相关的疫情.我们就需要调用相关的接口来实现这一功能. 网上的免费的接口很多,许多接口用着用着就下架了. 今天我使用的是 &q ...
- linux路由相关函数,Linux 路由 学习笔记 之十一 输入、输出路由查找相关的接口函数...
对于路由功能模块的学习,也已经很长时间了.关于路由项的创建与查找.策略规则相关的创建与查找.路由缓存的创建与查找,都是分开来分析的,没有说明这些模块是如何配合使用的,以及模块之间的联系.本节就分析一下 ...
- 音频相关操作接口-C++实现
音频相关操作接口-C++实现 单声道转换为双声道 32Float格式音频数据转为16bit格式 注意事项 单声道转换为双声道 // 传入数据长度为原始单声道数据的2倍,无需额外申请空间实现自我复制 v ...
- 音乐推荐相关API接口
音乐推荐相关API接口 本文仅为学习记录,资源来自网络,侵删,详细使用方法参照参考链接(原文写的不错),这里仅记录一些使用过程中遇到的问题. 参考1:网易云音乐(Cloudmusic)API 参考2: ...
- 【shopify 1】调研出海项目,发现shopify没有java的相关SDK接口,但是找到一个最新2022年6月的Java项目分享了相关代码,使用docker进行环境搭建、编译,并成功启动
目录 前言 1,关于shopify java调研 2,发现一个新的关于shopify的JavaSDK开源项目是2022年6月发布的 3,使用OAuth2 进行授权的逻辑 4,解决相关问题,解决配置依赖 ...
- 新华字典相关API接口
通过互联网也查询了一些API接口,有些是收费的,有些是免费的,但是免费的还没有找到,收费的都有1天请求接口次数限制.想着自己也弄一个API接口吧,就这.. 中国文化的核心:汉字.成语. 但因能力有限, ...
- 游戏思考17:寻路引擎recast和detour学习一(跨平台编译库及相关寻路接口解析)
文章目录 一.windows安装编译recastnavigation1.5.1 二.linux编译recastnavigation1.5.1 三.背景知识 1)分类 2)navmesh定义 3)编译包 ...
- JAVA中parameterized,Java中与泛型相关的接口 之 ParameterizedType
在阅读本文之前可以先阅读以下三篇,以便对Java中的泛型有一个全局的认识: 简介 ParameterizedType是Type的子接口,表示一个有参数的类型,例如Collection,Map等.但实现 ...
最新文章
- 索引使用的好处与坏处(Oracle测试)
- Codeforces刷题
- java面试题十 string字符串操作
- webstorm中配置svn
- 《道德经》程序员版第五章
- 圆括号匹配c语言代码,求救!!一道关于表达式圆括号匹配的经典题目
- 山东省特种设备作业考试系统_山东省特种设备作业人员考试系统使用手册详解.doc...
- python selenium 下拉框 页面变化_python-selenium之select下拉框
- 最近公共祖先 解题报告
- 【事件驱动】【数码管识别】 封装成DLL的函数的梳理
- Qt实现带验证码的输入框
- EPT DATA数据库能查到1998-2013年工业企业数据库
- 《迅雷链精品课》第九课:区块链 P2P 网络
- 这学期她选修了英语 计算机 驾驶三门课程,大一英语翻译答案
- 巧舟的逆转裁判开发手记
- 2019年第十届蓝桥杯真题解析 | 特殊数【Python】
- 分享一套永久免费的ChatGPT使用方法
- 欢迎各位小伙伴来领取免费的安卓教程
- c语言习题---(if语句)
- 2021年全球灌装设备收入大约1194.6百万美元,预计2028年达到1604.7百万美元
热门文章
- win11亮度调节不见了怎么办 windows亮度调节不见了的解决方法
- windows安装docker后启动报错无法下载镜像文件Error with pre-create check: “Get https://github-production-release-ass
- mybatis与Spring整合配置文件
- 已经发车的票还能取出来吗_网上预订汽车票不知道怎么退票?
- winpythonhadoop_win10下配置hadoop2.9(使用python单机运行任务)
- python commands用法_python之commands模块(执行Linux Shell命令)
- 下载并安装Redis教程
- 使用awt制作一个简易加法计算器
- svg写入/识别html元素和css样式
- linux 查看新增文件夹记录_微信7.0.23测试版,新增查看访客记录,朋友圈内容能折叠?...