ASP.NET Datagrid創建自定義列(1)
發表于:2007-06-30來源:作者:點擊數:
標簽:
簡介 不得不承認,為 Microsoft? ASP.net 編寫 DataGrid 代碼包括大量的重復工作。盡管我深受該控件的困擾,但我還是不斷尋找簡化這類任務的捷徑。誰都不愿意做重復的工作,對不對?為了擺脫這種煩人的工作,我們要將多個項目中的重復代碼封裝到一個可重復使
簡介
不得不承認,為 Microsoft? ASP.net 編寫 DataGrid 代碼包括大量的重復工作。盡管我深受該控件的困擾,但我還是不斷尋找簡化這類任務的捷徑。誰都不愿意做重復的工作,對不對?為了擺脫這種煩人的工作,我們要將多個項目中的重復代碼封裝到一個可重復使用的程序包中。這才是
面向對象的編程工作所要解決的問題,使用 Datagrid 也不例外。對于 Datagrid 控件來說,要實現該目的,需要將常用的代碼放到一個內置的列類型中(將在第一個示例中使用),然后創建一個可以在多個 Datagrid 對象中重復使用的自定義列類型。
本文介紹使用標準 TemplateColumn 在一個 Datagrid 列中使用 DropDownList 控件的過程,然后將該邏輯轉換為您的自定義 Datagrid 列類型,我稱其為 DropDownColumn。已經為您創建了一些免費的 Datagrid 列,您可以到 MetaBuilders.com
下載所需的類型。
重復使用的情況
如果您的小組與許多組織一樣,已經將業務邏輯和/或數據訪問邏輯分成單獨的組件或組件集,而剩下的 ASP.NET 文件、ASPX 及其代碼只包含純粹的表示邏輯。(“純粹”是一個相對的詞語。)但是,即使是表示層的邏輯有時也會重復使用,這樣,下次某個用戶來到您門前說,“我想讓我的應用程序在‘財務’方面看起來與蘇茜的一樣”時,您可以重復使用“財務”應用程序的部分表示內容快速為其構建一個這樣的應用程序。您可能還想將一些邏輯打包,在 Web 上銷售或在您的 Web 站點分發。ASP.NET 使這一切比以往更容易實現,因為它使您可以創建自己的
服務器控件,或從現有的類型導出列類型,從而獲得所需的功能。
DropDownList 方案
假設您正在本地 Microsoft
SQL Server? 中編輯 Northwind
數據庫(或做其他工作),您想使您的用戶(我們稱之為 Ed,倉庫保管員)可以編輯 Orders 表。其中一個字段包含運輸信息 (ShipVia),Ed 要能夠修改該字段的信息。在顯示模式下,運輸公司應顯示為純文本。當 Ed 單擊 Edit(編輯)按鈕時,您不光要為他提供一個 TextBox 以編輯運輸方式代碼(1、2 或 3),還要為他提供一個包含可以選擇不同運輸公司的 DropDownList。(因為 Ed 記不住哪個運輸公司對應哪個號碼,所以,DropDownList 方案可以幫助他解決這個問題。)
圖 1:選擇運輸公司
原文轉自:http://www.kjueaiud.com