逐步解說:文件層級專案中的複雜資料繫結
更新:2007 年 11 月
適用於 |
---|
本主題中的資訊僅適用於指定的 Visual Studio Tools for Office 專案和 Microsoft Office 版本。 專案類型
Microsoft Office 版本
如需詳細資訊,請參閱依應用程式和專案類型提供的功能。 |
本逐步解說示範使用文件層級專案進行複雜資料繫結的基本概念。您可以將 Microsoft Office Excel 工作表中的多個儲存格,繫結至 Northwind SQL Server 資料庫中的欄位。
這個逐步解說將說明下列工作:
將資料來源加入至活頁簿專案。
將資料繫結控制項加入至工作表。
將資料變更儲存回資料庫。
注意事項: |
---|
您的電腦可能會在下列說明中,以不同名稱或位置顯示某些 Visual Studio 使用者介面項目。您所擁有的 Visual Studio 版本以及使用的設定會決定這些項目。如需詳細資訊,請參閱 Visual Studio 設定。 |
必要條件
您需要下列元件才能完成此逐步解說:
Visual Studio Tools for Office (Visual Studio 2008 Professional 和 Visual Studio Team System 的選擇性元件)。
Microsoft Office Excel 2003 或 Microsoft Office Excel 2007。
存取具有 Northwind SQL Server 範例資料庫的伺服器
從 SQL Server 資料庫讀取及寫入該資料庫的使用權限
建立新專案
第一步是建立 Excel 活頁簿專案。
若要建立新的專案
建立名為 My Complex Data Binding 的 Excel 活頁簿專案。選取精靈中的 [建立新文件]。
如需詳細資訊,請參閱 HOW TO:建立 Visual Studio Tools for Office 專案。
Visual Studio 會在設計工具中開啟新的 Excel 活頁簿,並將 My Complex Data Binding 專案加入至 [方案總管]。
建立資料來源
請使用 [資料來源] 視窗,將具型別資料集加入您的專案。
若要建立資料來源
如果看不到 [資料來源] 視窗,請按一下 [資料] 功能表上的 [顯示資料來源]。
注意事項: 如果無法使用 [顯示資料來源],請在 Excel 活頁簿內按一下,然後再檢查一次。
按一下 [加入新資料來源],啟動 [資料來源組態精靈]。
選取 [資料庫],再按一下 [下一步]。
選取與 Northwind 範例 SQL Server 資料庫的資料連接,或使用 [新增連接] 按鈕加入新的連接。
在選取或建立連接後,請按 [下一步]。
如果已經選取,請清除儲存連接的選項,然後按一下 [下一步]。
在 [資料庫物件] 視窗中,展開 [資料表] 節點。
選取 [Employees] 資料表旁的核取方塊。
按一下 [完成]。
精靈會將 [Employees] 資料表加入至 [資料來源] 視窗,也會將具型別資料集加入至 [方案總管] 中可以看得到的專案。
將控制項加入至工作表
工作表將在活頁簿開啟時顯示 [Employees] 資料表。使用者將能對資料進行變更,然後按一下按鈕,將變更儲存回資料庫。
若要自動繫結工作表與資料表,您可以從 [資料來源] 視窗將 ListObject 控制項加入至工作表。若要讓使用者能夠選擇儲存變更,請從 [工具箱] 加入 Button 控制項。
加入清單物件
確認已經在 Visual Studio 設計工具中開啟 My Complex Data Binding.xls 活頁簿,並顯示 Sheet1。
開啟 [資料來源] 視窗,然後選取 [Employees] 節點。
按一下顯示的下拉箭號。
選取下拉式清單中的 [ListObject]。
將 [Employees] 資料表拖曳至 [A6] 儲存格。
[A6] 儲存格中會建立一個名為 EmployeesListObject 的 ListObject 控制項。同時,會將名為 EmployeesBindingSource 的 BindingSource、資料表配接器 (Adapter),以及 DataSet 執行個體加入至專案。控制項繫結至 BindingSource,繼而又繫結至 DataSet 執行個體。
若要加入按鈕
- 從 [工具箱] 的 [通用控制項] 索引標籤,將 Button 控制項加入至工作表的 [A4] 儲存格。
下一個步驟是在工作表開啟時將文字加入至按鈕。
初始化控制項
將文字加入至 Startup 事件處理常式中的按鈕。
若要初始化控制項
在 [方案總管] 中,在 [Sheet1.vb] 或 [Sheet1.cs] 上按一下滑鼠右鍵,再按快速鍵功能表上的 [檢視程式碼]。
將下列程式碼加入至 Sheet1_Startup 方法,以設定 button 的文字。
Me.Button1.Text = "Save"
this.button1.Text = "Save";
如果是 C#,請加入 Click 事件的事件處理常式至 Sheet1_Startup 方法。
this.button1.Click += new EventHandler(button1_Click);
現在,請加入程式碼,以處理按鈕的 Click 事件。
將變更儲存至資料庫
將對資料所做的任何變更明確存回資料庫之前,這些變更都只存在本機資料集中。
若要將變更儲存至資料庫
為 button 的 Click 事件加入事件處理常式,然後加入下列程式碼,認可對資料集所做的所有變更儲存到資料庫中。
Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles Button1.Click Try Me.EmployeesTableAdapter.Update(Me.NorthwindDataSet.Employees) Catch ex As System.Data.DataException MessageBox.Show(ex.Message) End Try End Sub
private void button1_Click(object sender, EventArgs e) { try { this.employeesTableAdapter.Update(this.northwindDataSet.Employees); } catch (System.Data.DataException ex) { MessageBox.Show(ex.Message); } }
測試應用程式
現在您可以測試活頁簿,確認資料將如預期般顯示,而且您可以在清單物件中操作該資料。
若要測試資料繫結
請按 F5。
確認當活頁簿開啟時,清單物件中會填入來自 [Employees] 資料表的資料。
若要修改資料
按一下 [B7] 儲存格,此儲存格應該包含 [Davolio] 的名稱。
輸入 Anderson 的名稱,然後按 ENTER。
若要修改資料行行首
按一下包含資料行行首 [LastName] 的儲存格。
輸入 Last Name,在兩個字中間包含一個空格,然後按 ENTER。
若要儲存資料
在工作表上按一下 [儲存]。
結束 Excel。當系統提示您儲存所做的變更時,請按一下 [否]。
按 F5,再次執行專案。
清單物件中便會填入來自 [Employees] 資料表的資料。
請注意,[B7] 儲存格中的名稱仍為 Anderson,也就是您所進行並儲存到資料庫的資料變更。資料行行首 [LastName] 則已變更回沒有空格的原始格式,因為資料行行首並未繫結至資料庫,而且您也沒有儲存對工作表所做的變更。
若要加入新資料列
在清單物件內選取儲存格。
新資料列會出現在清單底部,而且新資料列的第一個儲存格中會出現星號 (*)。
在空白資料列中加入下列資訊。
EmployeeID
LastName
FirstName
Title
10
Ito
Shu
Sales Manager
若要刪除資料列
- 以滑鼠右鍵按一下工作表最左邊的數字 [16] (第 16 列),然後按一下 [刪除]。
若要對清單中的資料列進行排序
在清單內選取儲存格。
每個資料行行首中都會顯示箭號按鈕。
按一下 [Last Name] 資料行行首中的箭號按鈕。
按一下 [遞增排序]。
會按照姓氏的字母順序排列資料列。
若要篩選資訊
在清單內選取儲存格。
按一下 [Title] 資料行行首中的箭號按鈕。
按一下 [Sales Representative]。
清單中只會顯示 [Title] 資料行中具有 [Sales Representative] 的資料列。
再按一下 [Title] 資料行行首中的箭號按鈕。
按一下 [(全部)]。
會移除篩選並顯示所有資料列。
後續步驟
這個逐步解說示範將資料庫中資料表繫結至清單物件的基本步驟。以下則是接下來的一些工作:
快取資料,使您能夠離線使用資料。如需詳細資訊,請參閱 HOW TO:快取資料供離線使用或於伺服器上使用。
部署方案。如需詳細資訊,請參閱部署 Office 方案。
建立欄位和資料表之間的主從式 (Master/Detail) 關聯。如需詳細資訊,請參閱逐步解說:使用快取資料集來建立主從式關聯。