适用于:
Visual Studio Visual Studio for Mac
Visual Studio Code
本演练演示了对Microsoft Office Excel操作窗格上的控件的数据绑定。 控件演示 SQL Server 数据库中表之间的主/从关系。
适用于:
本主题中的信息适用于Excel的文档级项目。 有关详细信息,请参阅
Office应用程序和项目类型提供的功能
。
本演练演示以下任务:
向工作表添加控件。
创建操作窗格控件。
向操作窗格控件添加数据绑定Windows 窗体控件。
显示应用程序打开时的操作窗格。
以下说明中的某些 Visual Studio 用户界面元素在计算机上出现的名称或位置可能会不同。 这些元素取决于你所使用的 Visual Studio 版本和你所使用的设置。 有关详细信息,请参阅
个性化设置 Visual Studio IDE
。
您需要满足以下条件才能完成本演练:
Visual Studio 的一个版本,其中包含 Microsoft Office 开发人员工具。 有关详细信息,请参阅
配置计算机以开发Office解决方案
。
Excel 2013 或 Excel 2010。
使用 Northwind SQL Server 示例数据库访问服务器。
读取和写入SQL Server数据库的权限。
第一步是创建一个 Excel 工作簿项目。
创建新项目的步骤
创建名为
“我的Excel操作”窗格
的Excel工作簿项目。 在向导中,选择“
创建新文档
”。 有关详细信息,请参阅
如何:在Visual Studio中创建Office项目
。
Visual Studio在设计器中打开新的Excel工作簿,并将
“我的Excel操作窗格
”项目添加到
解决方案资源管理器
。
向项目添加新数据源
向项目添加新数据源
如果
“数据源”
窗口不可见,请通过菜单栏选择
“查看
>
其他Windows
>
数据源
”。
选择
“添加新数据源”
以启动
“数据源配置向导”
。
选择
“数据库
”,然后单击“
下一步
”。
选择与 Northwind 示例SQL Server数据库的数据连接,或使用
“新建连接
”按钮添加新连接。
单击“下一步”。
清除选项以保存连接(如果已选中),然后单击“
下一步
”。
展开
“数据库对象
”窗口中的
“表
”节点。
选中
“供应商
”表旁边的复选框。
展开
“产品
”表,然后选择
ProductName
、
SupplierID
、
QuantityPerUnit
和
UnitPrice
。
单击“完成”。
向导将
“供应商
”表和
“产品
”表添加到
“数据源
”窗口。 它还将类型化数据集添加到
解决方案资源管理器中可见
的项目。
向工作表添加控件
接下来,向第一个
ListObject
工作表添加控件
NamedRange
和控件。
添加 NamedRange 控件和 ListObject 控件
验证
“我的Excel操作”Pane.xlsx
工作簿是否在显示Visual Studio设计器
Sheet1
中打开。
在
“数据源
”窗口中,展开
“供应商
”表。
单击
公司名称
节点上的下拉箭头,然后单击
NamedRange
。
将
公司名称
从
“数据源
”窗口拖到
单元格 A2
中
Sheet1
。
NamedRange
将创建一个名为
CompanyNameNamedRange
控件,文本 <CompanyName> 将显示在单元格
A2
中。 同时,
BindingSource
命名
suppliersBindingSource
表适配器和表
DataSet
适配器将添加到项目中。 该控件绑定到
BindingSource
该控件,而该控件又绑定到
DataSet
实例。
在
“数据源
”窗口中,向下滚动到
“供应商
”表下的列。 列表底部是
“产品
”表;此处是因为它是
“供应商
”表的子级。 选择此
“产品
”表,而不是与
“供应商
”表位于同一级别的产品表,然后单击显示的下拉箭头。
单击下拉列表中的
ListObject
,然后将
Products
表拖动到
单元格 A6
中
Sheet1
。
ListObject
命名
ProductNameListObject
的控件在单元格
A6
中创建。 同时,
BindingSource
命名
productsBindingSource
适配器和表适配器将添加到项目中。 该控件绑定到
BindingSource
该控件,而该控件又绑定到
DataSet
实例。
对于仅限 C#,请选择组件托盘上的
suppliersBindingSource
,并将
Modifiers
属性更改为“
属性
”窗口中
的内部
。
向操作窗格添加控件
接下来,需要一个具有组合框的操作窗格控件。
添加操作窗格控件
在
解决方案资源管理器
中选择
“我的Excel操作”窗格
项目。
在
“项目”
菜单上,单击
“添加新项”
。
在“
添加新项
”对话框中,选择
“操作窗格控件
”,将其命名为
ActionsControl
,然后单击“
添加
”。
从
工具箱
的
“常见控件
”选项卡中,将控件
ComboBox
拖到操作窗格控件。
将
Size
属性更改为
171,21
。
调整用户控件的大小以适应组合框。
将操作窗格上的控件绑定到数据
在本部分中,你将将数据源
ComboBox
设置为与工作表上的控件相同的数据源
NamedRange
。
设置控件的数据绑定属性
右键单击操作窗格控件,然后单击“
查看代码
”。
将以下代码添加到
Load
操作窗格控件的事件。
private void ActionsControl_Load(object sender, EventArgs e)
this.comboBox1.DataSource = Globals.Sheet1.suppliersBindingSource;
this.comboBox1.DisplayMember = "CompanyName";
Private Sub ActionsControl_Load(ByVal sender As Object, ByVal e As System.EventArgs) _
Handles Me.Load
Me.ComboBox1.DataSource = Globals.Sheet1.SuppliersBindingSource
Me.ComboBox1.DisplayMember = "CompanyName"
End Sub
In C#, you must create an event handler for the
ActionsControl
. 可以将此代码置于构造函数中
ActionsControl
。 有关创建事件处理程序的详细信息,请参阅
如何:在Office项目中创建事件处理程序
。
public ActionsControl()
InitializeComponent();
this.Load += new EventHandler(ActionsControl_Load);
显示操作窗格
在运行时添加控件之前,操作窗格不可见。
显示操作窗格
在
解决方案资源管理器
中,右键单击
ThisWorkbook.vb
或
ThisWorkbook.cs
,然后单击“
查看代码
”。
在类中创建
ThisWorkbook
用户控件的新实例。
private void ThisWorkbook_Startup(object sender, System.EventArgs e)
this.ActionsPane.Controls.Add(actions);
Private Sub ThisWorkbook_Startup(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Startup
Me.ActionsPane.Controls.Add(actions)
End Sub
在列表框中选择公司。 验证公司名称是否在控件中
NamedRange
列出,以及产品详细信息是否列在控件中
ListObject
。
选择各种公司,以根据需要验证公司名称和产品详细信息更改。
以下是接下来可能要执行的一些任务:
将数据绑定到 Word 中的控件。 有关详细信息,请参阅
演练:将数据绑定到 Word 操作窗格上的控件
。
部署项目。 有关详细信息,请参阅
使用 ClickOnce 部署Office解决方案
。
操作窗格概述
如何:管理操作窗格上的控件布局
将数据绑定到Office解决方案中的控件