Infragistics|Ultimate UI for ASP.NET|將 WebDataGrid 數據綁定到數據源

infragistics log


在使用數據綁定控件之前,您需要決定如何向控件提供數據。WebDataGrid可以連接到各種數據源。本文介紹了三種常用的數據源。

  • 自定義對象集合
  • 對像數據源
  • SQL數據源

在使用數據源之前,將 ScriptManager 和 WebDataGrid 添加到 Web 表單。在 Visual Studio 設計器中,您的頁面應如下圖所示。


自定義對象集合

將網格綁定到數據的一種簡單方法是自定義對象集合。創建對象集合後, 將網格的DataSource屬性 設置為該集合併 調用DataBind方法。

例如,使用nBuilder 創建 Person 類的實例。應用程序的數據通常直接來自業務邏輯層、服務或數據訪問層。

當我運行該頁面時,該頁面顯示網格。默認情況下,網格會自動生成列,因此您不必在可用網格中動態定義列。


對像數據源

ObjectDataSource是一個為業務邏輯層提供接口的控件。對對象執行操作以使用數據綁定控件。WebDataGrid 可以使用ObjectDataSource 的SELECT、UPDATE、INSERT 和DELETE 命令與控件進行交互。

第一步是將數據源控件連接到一個類,該類包含用於在應用程序中選擇和修改數據的方法。將 ObjectDataSource 添加到頁面後,單擊 ObjectDataSource 的智能標記,然後單擊“配置數據源”鏈接。

接下來,在下拉列表中找到包含數據源所需方法的類名稱。選擇該類後,單擊“下一步 >”。

在嚮導的下一個對話框中,將控件的命令連接到用於選擇、更新、添加(插入)和刪除數據的方法。類的方法名稱一般表現為與數據源控件相關的命令。例如,在下圖中,  PersonRepository 類  包含與SELECT命令 關聯的 GetAll方法。

同樣,Update 方法 與UPDATE命令 相關。

Insert 方法 與INSERT命令 相關。

刪除 方法 與DELETE命令 相關。

將所有方法映射到命令後,單擊“完成”。下一步是將數據源控件與網格相關聯。要設置此關聯,請單擊智能標記,然後單擊“選擇數據源”下拉列表。選擇 ObjectDataSource 的 ID。Visual Studio 中會出現一個通知對話框。

此對話框允許您選擇是否在設計器中創建網格列和鍵定義。除非您想使用依賴的自定義網格,否則請單擊“是” 。設計者將生成配置網格的代碼。

創建列和鍵定義後,可以在瀏覽器中查看網格。


數據源

SqlDataSource 是一個提供數據庫接口的控件。該控件保存映射到數據庫存儲過程的 SQL 語句或命令。首先,將 SqlDataSource 控件設置為數據庫連接字符串。由於NorthwindConnectionString 是在應用程序的 web.config 文件中定義的,用於創建圖像 ,因此該選項將自動出現在下拉列表中。

注意: 如果您沒有從屬數據庫連接,請單擊“新建連接”按鈕,讓嚮導引導您完成生成連接字符串的步驟。

在下一步中,選擇表、視圖或存儲過程來為控件選擇數據。本文使用 SQL 命令。 下圖顯示瞭如何將控件連接到 Products 表(下拉列表選擇)以僅選擇ProductID、ProductName和 QuantityPerUnit 。

單擊“詳細信息...”按鈕生成處理其餘 INSERT、UPDATE 和 DELETE 命令的 SQL 。將出現以下對話框。

單擊“生成 INSERT、UPDATE 和 DELETE 語句”複選框以使設計器生成此語句。

下面您可以看到為數據源控件生成的 SELECT 命令。單擊“測試查詢”按鈕可查看數據庫從查詢返回的數據的預覽。如果沒有預覽問題,請單擊“完成”按鈕關閉嚮導。

配置好數據源後,我們就可以將WebDataGrid連接到SqlDataSource了。返回 Visual Studio 設計器,單擊頁面上的 WebDataGrid 實例。單擊智能標記箭頭。單擊智能標記中的選擇數據源下拉列表。在下拉列表中選擇數據源的 ID。

當您選擇數據源時,您將看到以下對話框。

在此對話框中,您可以決定是否希望設計器自動創建網格的列和鍵定義。除非您想使用依賴的自定義網格,否則請單擊“是” 。設計者生成代碼來配置網格。

配置網格後,就可以運行頁面了。將出現如下所示的網格。


關於使用 SqlDataSource

WebDataGrid 可以與 SqlDataSource 控件無縫協作,但請閱讀以下有關使用 SqlDataSource 控件的信息。SqlDataSource 將 T-SQL 代碼注入表示層。當數據庫模式更改時可能會出現問題。此外,“不要重複自己”(DRY) 原則在應用程序開發中也很重要。如果有兩個或多個頁面需要訪問單個表,則每個頁面都存儲該頁面上的 SQL 語句。使用 SqlDataSource 不可能遵守 DRY。選擇最適合您的應用程序的數據源。

延伸閱讀
aa71435723的大頭照
Winston

Eggplant DAI 自動化測試專家。

留言