逐步解說:將資料繫結至 Excel 執行窗格上的控制項
本逐步解說示範如何將資料繫結至 Microsoft Office Excel 執行窗格上的控制項。 控制項示範 SQL Server 資料庫中資料表之間的主從式關聯。
**適用於:**本主題中的資訊適用於 Excel 2007 和 Excel 2010 的文件層級專案。如需詳細資訊,請參閱依 Office 應用程式和專案類型提供的功能。
這個逐步解說將說明下列工作:
將控制項加入至工作表。
建立執行窗格控制項。
將資料繫結 Windows Form 控制項加入至執行窗格控制項。
在應用程式開啟時顯示執行窗格。
注意事項 |
---|
在下列指示的某些 Visual Studio 使用者介面項目中,您的電腦可能會顯示不同的名稱或位置: 您所擁有的 Visual Studio 版本和使用的設定決定了這些項目。 如需詳細資訊,請參閱 使用設定。 |
必要條件
您需要下列元件才能完成此逐步解說:
-
包含 Microsoft Office 開發者工具的 Visual Studio 2010 版本。 如需詳細資訊,請參閱[設定電腦以開發 Office 方案](bb398242\(v=vs.100\).md)。
Excel 2007 或 Excel 2010。
與具有 Northwind SQL Server 範例資料庫之伺服器的連線。
從 SQL Server 資料庫讀取及寫入該資料庫的使用權限。
建立專案
第一步是建立 Excel 活頁簿專案。
若要建立新的專案
建立名為 My Excel Actions Pane 的 Excel 活頁簿專案。 在精靈中選取 [建立新文件]。 如需詳細資訊,請參閱 HOW TO:在 Visual Studio 中建立 Office 專案。
Visual Studio 會在設計工具中開啟新的 Excel 活頁簿,並將 My Excel Actions Pane 專案加入至 [方案總管]。
在專案中加入新資料來源
若要在專案中加入新資料來源
如果看不到 [資料來源] 視窗,請按一下 [資料] 功能表上的 [顯示資料來源]。
注意事項 如果 [顯示資料來源] 無法使用,請在 Excel 工作表內按一下,然後再檢查一次。
按一下 [加入新資料來源],啟動 [資料來源組態精靈]。
選取 [資料庫],再按一下 [下一步]。
選取與 Northwind 範例 SQL Server 資料庫的資料連接,或使用 [新增連接] 按鈕加入新的連接。
按一下 [下一步]。
如果已經選取,請清除儲存連接的選項,然後按一下 [下一步]。
在 [資料庫物件] 視窗中,展開 [資料表] 節點。
選取 [供應商] 資料表旁的核取方塊。
展開 [產品] 資料表,並選取 [ProductName]、[SupplierID]、[QuantityPerUnit] 和 [UnitPrice]。
按一下 [完成]。
精靈會將 [供應商] 資料表和 [產品] 資料表加入至 [資料來源] 視窗, 也會將具型別資料集加入至 [方案總管] 中可以看得到的專案。
將控制項加入至工作表
接下來,將 NamedRange 控制項和 ListObject 控制項加入至第一個工作表。
若要加入 NamedRange 控制項和 ListObject 控制項
確認已在 Visual Studio 設計工具中開啟 My Excel Actions Pane.xls 活頁簿,並顯示 Sheet1。
在 [資料來源] 視窗中,展開 [供應商] 資料表。
按一下 [公司名稱] 節點上的下拉箭號,然後選取 [NamedRange]。
將 [公司名稱] 從 [資料來源] 視窗拖曳到 Sheet1 中的 [A2] 儲存格。
在 [A2] 儲存格中會建立一個名為 CompanyNameNamedRange 的 NamedRange 控制項,並會顯示文字 <CompanyName>。 同時,會將名為 suppliersBindingSource 的 BindingSource、資料表配接器,以及 DataSet 加入至專案。 控制項繫結至 BindingSource,繼而又繫結至 DataSet 執行個體。
在 [資料來源] 視窗中,向下捲動超過 [供應商] 資料表底下的資料行。 位在清單底部的是 [產品] 資料表。由於它是 [供應商] 資料表的子系,因而位在該處。 請選取這個 [產品] 資料表,不要選取與 [供應商] 資料表位於相同層級的資料表,然後按一下顯示的下拉箭號。
在下拉式清單中按一下 [ListObject],然後將 [產品] 資料表拖曳到 Sheet1 中的 [A6] 儲存格。
[A6] 儲存格中會建立一個名為 ProductNameListObject 的 ListObject 控制項。 同時,會將名為 productsBindingSource 的 BindingSource 和資料表配接器 (Adapter) 加入至專案。 控制項繫結至 BindingSource,繼而又繫結至 DataSet 執行個體。
(僅適用於 C#) 選取元件匣上的 [suppliersBindingSource],並在 [屬性] 視窗中,將 [Modifiers] 屬性變更為 Internal。
將控制項加入至執行窗格
接下來,您需要包含下拉式方塊的執行窗格控制項。
若要加入執行窗格控制項
在 [方案總管] 中選取 My Excel Actions Pane 專案。
按一下 [專案] 功能表上的 [加入新項目]。
選取 [加入新項目] 對話方塊中的 [執行窗格控制項],將其命名為 ActionsControl,然後按一下 [加入]。
若要將資料繫結 Windows Form 控制項加入至執行窗格控制項
從 [工具箱] 的 [通用控制項] 索引標籤,拖曳 ComboBox 控制項至執行窗格控制項。
將 [Size] 屬性變更為 171, 21。
調整使用者控制項以符合下拉式方塊的大小。
將執行窗格上的控制項繫結至資料
在本節中,您會將 ComboBox 的資料來源,設定為與工作表上 NamedRange 控制項的資料來源相同。
若要設定控制項的資料繫結屬性
以滑鼠右鍵按一下執行窗格控制項,然後按一下 [檢視程式碼]。
將下列程式碼加入至執行窗格控制項的 Load 事件。
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
private void ActionsControl_Load(object sender, EventArgs e) { this.comboBox1.DataSource = Globals.Sheet1.suppliersBindingSource; this.comboBox1.DisplayMember = "CompanyName"; }
在 C# 中,您必須建立 ActionsControl 的事件處理常式。 您可以將這個程式碼放在 ActionsControl 建構函式 (Constructor) 中。 如需建立事件處理常式的詳細資訊,請參閱 HOW TO:在 Office 專案中建立事件處理常式。
public ActionsControl() { InitializeComponent(); this.Load += new EventHandler(ActionsControl_Load); }
顯示執行窗格
執行窗格要到您在執行階段加入控制項後,才會顯示。
若要顯示執行窗格
以滑鼠右鍵按一下 [方案總管] 中的 ThisWorkbook.vb 或 ThisWorkbook.cs,然後按一下 [檢視程式碼]。
在 ThisWorkbook 類別 (Class) 中建立使用者控制項的新執行個體 (Instance)。
Dim actions As New ActionsControl
ActionsControl actions = new ActionsControl();
在 ThisWorkbook 的 Startup 事件處理常式中,將控制項加入至執行窗格。
Private Sub ThisWorkbook_Startup(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Startup Me.ActionsPane.Controls.Add(actions) End Sub
private void ThisWorkbook_Startup(object sender, System.EventArgs e) { this.ActionsPane.Controls.Add(actions); }
測試應用程式
現在您可以測試文件,確認當文件開啟時,執行窗格也會開啟,而且控制項具有主從式關聯性。
若要測試您的文件
請按 F5 執行您的專案。
確認可以看見執行窗格。
在清單方塊中選取一家公司。 確認公司名稱列在 NamedRange 控制項中,且產品詳細資料列在 ListObject 控制項中。
選取不同的公司,確認公司名稱和產品詳細資料會適當地變更。
後續步驟
以下則是接下來的一些工作:
將資料繫結至 Word 中的控制項。 如需詳細資訊,請參閱 逐步解說:在 Word 執行窗格將資料繫結至控制項。
顯示和隱藏執行窗格上的控制項。 如需詳細資訊,請參閱 逐步解說:根據使用者內容變更執行窗格。
部署專案。 如需詳細資訊,請參閱 部署概觀 (Visual Studio 中的 Office 程式開發)。