演练:文档级项目中的简单数据绑定
此演练演示文档级项目中的数据绑定的基础知识。 将 SQL Server 数据库中的单个数据字段绑定到 Microsoft Office Excel 中的命名区域。 此演练还演示如何添加控件,让您能够滚动查看表中的所有记录。
**适用于:**本主题中的信息适用于 Excel 2007 和 Excel 2010 的文档级项目。有关更多信息,请参见按 Office 应用程序和项目类型提供的功能。
本演练阐释了以下任务:
为 Excel 项目创建数据源。
将控件添加到工作表中。
滚动查看数据库记录。
提示
对于在以下说明中使用的某些 Visual Studio 用户界面元素,您的计算机可能会显示不同的名称或位置。这些元素取决于您所使用的 Visual Studio 版本和您所使用的设置。有关更多信息,请参见 Visual Studio 设置。
系统必备
您需要以下组件来完成本演练:
-
Visual Studio 2010 的一个版本,其中包含 Microsoft Office 开发工具。有关更多信息,请参见[将计算机配置为开发 Office 解决方案](bb398242\(v=vs.100\).md)。
Excel 2007 或 Excel 2010。
访问带有 Northwind SQL Server 示例数据库的服务器。
从 SQL Server 数据库中读取数据和向其中写入数据的权限。
创建新项目
在此步骤中,您将创建一个 Excel 工作簿项目。
创建新项目
- 使用 Visual Basic 或 C# 创建一个名为 My Simple Data Binding的 Excel 工作簿项目。 确保已选择**“创建新文档”**。 有关更多信息,请参见如何:在 Visual Studio 中创建 Office 项目。
Visual Studio 在设计器中打开新的 Excel 工作簿并将“My Simple Data Binding”项目添加到**“解决方案资源管理器”**中。
创建数据源
使用**“数据源”**窗口向您的项目中添加类型化数据集。
创建数据源
如果**“数据源”窗口不可见,请单击“数据”菜单上的“显示数据源”**。
提示
如果“显示数据源”不可用,请在 Excel 工作簿中单击,然后重新检查。
单击**“添加新数据源”以启动“数据源配置向导”**。
选择**“数据库”,然后单击“下一步”**。
选择到 Northwind 示例 SQL Server 数据库的数据连接,或者使用**“新建连接”**按钮添加新连接。
选择或创建连接后,单击**“下一步”**。
如果选择了该选项,请将其清除以保存连接,然后单击**“下一步”**。
展开**“数据库对象”窗口中的“表”**节点。
选择**“Customers”**表旁边的复选框。
单击**“完成”**。
向导将**“Customers”表添加到“数据源”窗口。 还将一个类型化数据集添加到在“解决方案资源管理器”**中可见的项目中。
将控件添加到工作表
对于此演练,第一个工作表上需要两个命名范围和四个按钮。 首先,从**“数据源”窗口添加两个命名范围,这样它们就会自动绑定到数据源。 然后,从“工具箱”**添加按钮。
添加两个命名范围
验证**“我的简单数据绑定.xls”工作簿是否已在 Visual Studio 设计器中打开并显示“Sheet1”**。
打开**“数据源”窗口并展开“Customers”**节点。
选择**“CompanyName”**列,然后单击出现的下拉箭头。
在下拉列表中选择**“NamedRange”,然后将“CompanyName”列拖动到单元格“A1”**。
在单元格**“A1”**中会创建一个名为 companyNameNamedRange 的 NamedRange 控件。 同时,会将一个名为 customersBindingSource 的 BindingSource、一个表适配器和一个 DataSet 实例添加到该项目中。 该控件绑定到 BindingSource,接着后者绑定到 DataSet 实例。
在**“数据源”窗口中选择“CustomerID”**列,然后单击出现的下拉箭头。
在下拉列表中单击**“NamedRange”,然后将“CustomerID”列拖动到单元格“B1”**。
另一个名为 customerIDNamedRange 的 NamedRange 控件会在单元格**“B1”**中创建,并且该控件绑定到 BindingSource。
添加四个按钮
从**“工具箱”的“公共控件”选项卡向工作表的单元格“A3”**中添加一个 Button 控件。
此按钮被命名为 Button1。
按照此顺序在下列单元格中再添加三个按钮,使其名称如下所示:
单元格
(名称)
B3
Button2
C3
Button3
D3
Button4
下一步向按钮添加文本,并在 C# 中添加事件处理程序。
初始化控件
设置按钮文本并添加 Startup 事件期间的事件处理程序。
初始化控件
在**“解决方案资源管理器”中右击“Sheet1.vb”或“Sheet1.cs”,再单击快捷菜单上的“查看代码”**。
向 Sheet1_Startup 方法添加以下代码,从而为每个按钮设置文本。
With Me .Button1.Text = "|<" .Button2.Text = "<" .Button3.Text = ">" .Button4.Text = ">|" End With
this.button1.Text = "|<"; this.button2.Text = "<"; this.button3.Text = ">"; this.button4.Text = ">|";
仅对于 C#,向 Sheet1_Startup 方法添加用于处理按钮单击事件的事件处理程序。
this.button1.Click += new EventHandler(button1_Click); this.button2.Click += new EventHandler(button2_Click); this.button3.Click += new EventHandler(button3_Click); this.button4.Click += new EventHandler(button4_Click);
现在添加代码以处理按钮的 Click 事件,以便用户可以浏览记录。
添加用于滚动记录的代码
在每个按钮的 Click 事件处理程序中添加代码以在记录中移动。
移动到第一条记录
添加 Button1 按钮的 Click 事件的事件处理程序,并添加以下代码以移动到第一条记录:
Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles Button1.Click Me.CustomersBindingSource.MoveFirst() End Sub
private void button1_Click(object sender, System.EventArgs e) { this.customersBindingSource.MoveFirst(); }
移动到上一条记录
添加 Button2 按钮的 Click 事件的事件处理程序,并添加以下代码以后退一个位置:
Private Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles Button2.Click Me.CustomersBindingSource.MovePrevious() End Sub
private void button2_Click(object sender, System.EventArgs e) { this.customersBindingSource.MovePrevious(); }
移动到下一条记录
添加 Button3 按钮的 Click 事件的事件处理程序,并添加以下代码以前进一个位置:
Private Sub Button3_Click(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles Button3.Click Me.CustomersBindingSource.MoveNext() End Sub
private void button3_Click(object sender, System.EventArgs e) { this.customersBindingSource.MoveNext(); }
移动到最后一条记录
添加 Button4 的 Click 事件的事件处理程序,并添加以下代码以移动到最后一条记录:
Private Sub Button4_Click(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles Button4.Click Me.CustomersBindingSource.MoveLast() End Sub
private void button4_Click(object sender, System.EventArgs e) { this.customersBindingSource.MoveLast(); }
测试应用程序
现在可以对工作簿进行测试,以确保能浏览数据库中的记录。
测试工作簿
按 F5 运行项目。
确认第一条记录显示在单元格**“A1”和“B1”**中。
单击**“>”(Button3) 按钮,然后确认下一条记录出现在单元格“A1”和“B1”**中。
单击其他滚动按钮以确认记录按预期发生变化。
后续步骤
此演练演示将命名范围绑定到数据库中的字段的基本操作。 下一步可能要执行以下几项任务:
缓存数据,以使其可以脱机使用。 有关更多信息,请参见如何:缓存数据以便脱机使用或在服务器上使用。
将单元格绑定到表中的多个列,而不是绑定到一个字段。 有关更多信息,请参见演练:文档级项目中的复杂数据绑定。
使用 BindingNavigator 控件滚动记录。 有关更多信息,请参见如何:使用 Windows 窗体 BindingNavigator 控件定位数据。