数据绑定和 Windows 窗体
在 Windows 窗体中,不仅可以绑定到传统数据源,还可以绑定到几乎包含数据的任何结构。 可以绑定到以下值数组:在运行时计算得到的值、从文件读取的值或从其他控件派生的值。
此外,可以将任何控件的任何属性绑定到数据源。 在传统数据绑定中,通常将显示属性(例如 TextBox 控件的 Text 属性)绑定到数据源。 使用 .NET Framework 时,还可以选择通过绑定设置其他属性。 可以通过绑定来执行以下可能的任务:
设置图像控件的图形属性。
设置一个或多个控件的背景色。
设置控件的大小。
从本质上讲,数据绑定是设置窗体上任何控件的运行时可访问属性的自动方式。
数据绑定的类型
Windows 窗体可以利用两种类型的数据绑定:简单绑定和复杂绑定。 每个都提供不同的优势。
数据绑定的类型 | 描述 |
---|---|
简单数据绑定 | 控件绑定到单个数据元素的功能,例如数据集表中列中的值。 这是控件(如 TextBox 控件或 Label 控件)的典型绑定类型,这些控件通常只显示单个值。 事实上,控件上的任何属性都可以绑定到数据库中的字段。 Visual Studio 中对此功能有广泛的支持。 有关详细信息,请参阅: - 与数据绑定相关的接口 - 如何:在 Windows 窗体 中导航数据 - 如何:在 Windows 窗体 上创建 Simple-Bound 控件 |
复杂数据绑定 | 控件绑定到多个数据元素(通常数据库中有多个记录)的能力。 复杂绑定也称为基于列表的绑定。 支持复杂绑定的控件示例包括 DataGridView、ListBox和 ComboBox 控件。 有关复杂数据绑定的示例,请参阅 如何:将 Windows 窗体 ComboBox 或 ListBox 控件绑定到数据。 |
BindingSource 组件
为了简化数据绑定,Windows 窗体使你可以将数据源绑定到 BindingSource 组件,然后将控件绑定到 BindingSource。 可以在简单或复杂的绑定方案中使用 BindingSource。 在任一情况下,BindingSource 充当数据源与绑定控件之间的中介,提供更改通知货币管理和其他服务。
使用数据绑定的常见场景
几乎每个商业应用程序都使用从一种或另一种类型的数据源读取的信息,通常通过数据绑定。 以下列表显示了一些最常见的方案,这些方案利用数据绑定作为数据呈现和操作的方法。
场景 | 描述 |
---|---|
报告 | 报表提供了一种灵活的方法来显示和汇总打印文档中的数据。 非常常见的是创建一个报表,将数据源的选定内容打印到屏幕或打印机。 常见报表包括列表、发票和摘要。 项目通常格式化为列表列,子项组织在每个列表项下,但你应该选择最适合数据的布局。 |
数据输入 | 输入大量相关数据或提示用户输入信息的常见方法是通过数据输入表单。 用户可以使用文本框、选项按钮、下拉列表和复选框输入信息或选择选项。 然后,将信息提交并存储在数据库中,其结构基于输入的信息。 |
主从关系 | 主/细节应用程序是用于查看相关数据的一种格式。 具体而言,有两个数据表与连接它们的关系-在经典业务示例中,“客户”表和“订单”表与它们之间的关系将客户与其各自的订单联系起来。 有关使用两个 Windows 窗体 DataGridView 控件创建主/详细信息应用程序的详细信息,请参阅 如何:使用两个 Windows 窗体 DataGridView 控件创建主窗体/详细信息窗体 |
查找表 | 另一个常见的数据呈现/操作场景是表查找。 通常,作为大型数据显示的一部分,ComboBox 控件用于显示和操作数据。 键是 ComboBox 控件中显示的数据与写入数据库的数据不同。 例如,如果你有一个 ComboBox 控件显示杂货店提供的物品,你可能希望看到产品的名称(面包、牛奶、鸡蛋)。 但是,为了简化数据库中的信息检索和数据库规范化,你可能会将给定订单的特定项的信息存储为项编号(#501、#603 等)。 因此,您的窗体中 ComboBox 控件的杂货商品的“友好名称”与订单中存在的相关商品编号之间存在隐含关联。 这是表格查找的本质。 有关详细信息,请参阅 如何:使用 Windows 窗体 BindingSource 组件创建查找表。 |