演练:文档级项目中的简单数据绑定

更新:2007 年 11 月

适用于

本主题中的信息仅适用于指定的 Visual Studio Tools for Office 项目和 Microsoft Office 版本。

项目类型

  • 文档级项目

Microsoft Office 版本

  • Excel 2007

  • Excel 2003

有关更多信息,请参见按应用程序和项目类型提供的功能

此演练演示文档级项目中的数据绑定的基础知识。将 SQL Server 数据库中的单个数据字段绑定到 Microsoft Office Excel 中的命名区域。此演练还演示如何添加控件,让您能够滚动查看表中的所有记录。

本演练阐释以下任务:

  • 为 Excel 项目创建数据源。

  • 将控件添加到工作表中。

  • 滚动查看数据库记录。

ms178805.alert_note(zh-cn,VS.90).gif说明:

对于在以下说明中使用的某些 Visual Studio 用户界面元素,您的计算机可能会显示不同的名称或位置。这些元素取决于您使用的 Visual Studio 版本及设置。有关更多信息,请参见Visual Studio 设置

先决条件

您需要以下组件来完成本演练:

  • Visual Studio Tools for Office(Visual Studio 2008 专业版 和 Visual Studio Team System 的可选组件)。

  • Microsoft Office Excel 2003 或 Microsoft Office Excel 2007。

  • 访问带有 Northwind SQL Server 示例数据库的服务器。

  • 从 SQL Server 数据库中读取数据和向其中写入数据的权限。

创建新项目

在此步骤中,您将创建一个 Excel 工作簿项目。

创建新项目

Visual Studio 在设计器中打开新的 Excel 工作簿并将“我的简单数据绑定”项目添加到“解决方案资源管理器”中。

创建数据源

使用“数据源”窗口向您的项目中添加类型化数据集。

创建数据源

  1. 如果“数据源”窗口不可见,请单击“数据”菜单上的“显示数据源”。

    ms178805.alert_note(zh-cn,VS.90).gif说明:

    如果“显示数据源”不可用,请在 Excel 工作簿中单击,然后重新检查。

  2. 单击“添加新数据源”以启动“数据源配置向导”。

  3. 选择“数据库”,然后单击“下一步”。

  4. 选择到 Northwind 示例 SQL Server 数据库的数据连接,或者使用“新建连接”按钮添加新连接。

  5. 选择或创建连接后,单击“下一步”。

  6. 如果选择了该选项,请将其清除以保存连接,然后单击“下一步”。

  7. 展开“数据库对象”窗口中的“表”节点。

  8. 选择“Customers”表旁边的复选框。

  9. 单击“完成”。

向导将“Customers”表添加到“数据源”窗口。还将一个类型化数据集添加到在“解决方案资源管理器”中可见的项目中。

将控件添加到工作表

对于此演练,第一个工作表上需要两个命名范围和四个按钮。首先,从“数据源”窗口添加两个命名范围,这样它们就会自动绑定到数据源。然后,从“工具箱”添加按钮。

添加两个命名范围

  1. 验证“我的简单数据绑定.xls”工作簿是否已在 Visual Studio 设计器中打开并显示“Sheet1”。

  2. 打开“数据源”窗口并展开“Customers”节点。

  3. 选择“CompanyName”列,然后单击出现的下拉箭头。

  4. 在下拉列表中选择“NamedRange”,然后将“CompanyName”列拖动到单元格“A1”。

    在单元格“A1”中会创建一个名为 companyNameNamedRange 的 NamedRange 控件。同时,会将一个名为 customersBindingSource 的 BindingSource、一个表适配器和一个 DataSet 实例添加到该项目中。该控件绑定到 BindingSource,接着后者绑定到 DataSet 实例。

  5. 在“数据源”窗口中选择“CustomerID”列,然后单击出现的下拉箭头。

  6. 在下拉列表中单击“NamedRange”,然后将“CustomerID”列拖动到单元格“B1”。

  7. 另一个名为 customerIDNamedRange 的 NamedRange 控件会在单元格“B1”中创建,并且该控件绑定到 BindingSource

添加四个按钮

  1. 从“工具箱”的“公共控件”选项卡向工作表的单元格“A3”中添加一个 Button 控件。

    此按钮被命名为 Button1。

  2. 按照此顺序在下列单元格中再添加三个按钮,使其名称如下所示:

    单元格

    (名称)

    B3

    Button2

    C3

    Button3

    D3

    Button4

下一步向按钮添加文本,并在 C# 中添加事件处理程序。

初始化控件

设置按钮文本并添加 Startup 事件期间的事件处理程序。

初始化控件

  1. 在“解决方案资源管理器”中右击“Sheet1.vb”或“Sheet1.cs”,再单击快捷菜单上的“查看代码”。

  2. 向 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 = ">|";
    
  3. 仅对于 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();
    }
    

测试应用程序

现在可以对工作簿进行测试,以确保能浏览数据库中的记录。

测试工作簿

  1. 按 F5 运行项目。

  2. 确认第一条记录显示在单元格“A1”和“B1”中。

  3. 单击“>”(Button3) 按钮,然后确认下一条记录出现在单元格“A1”和“B1”中。

  4. 单击其他滚动按钮以确认记录按预期发生变化。

后续步骤

此演练演示将命名范围绑定到数据库中的字段的基本操作。下一步可能要执行以下几项任务:

请参见

任务

演练:文档级项目中的复杂数据绑定

概念

将数据绑定到控件

其他资源

Office 解决方案中的数据