介紹一個免費的具備資料顯示/錄入/更新/刪除功能的asp.net控制項

來源:互聯網
上載者:User
asp.net|控制項|資料|顯示 我不能說它比datagrid更強, 因為datagrid有很多深層次的東西可以發掘,但是我能說它比datagrid更易用,更實用,因為它已經輕鬆實現如下功能,同時,它是完全免費的,不需要註冊,沒有任何的功能限制。

1、 通過屬性設定資料表的顯示
2、 用戶端資料排序
3、 各種欄位類型的格式化顯示
4、 所有資料表輕鬆實現內建的資料添加、更新、刪除功能
5、 提供密碼欄位的支援並使用32位MD5編碼
6、 添加、更新圖象欄位、連結檔案欄位時自動上傳檔案
7、 上傳圖片時可以自動產生縮圖
8、 添加、更新時自動產生了用戶端資料驗證(Null 字元驗證、最大字元數驗證、數字格式驗證、日期格式驗證、電子郵件驗證)
9、 自動對日期/時間欄位使用日期選取器(javascript) ,自動對數值欄位實用數字選取器
10、 內建圖象欄位產生程式,直接顯示圖象欄位
11、 內建可以自訂的詳細察看頁面
12、 已經對輸入的參數進行了過濾,防止sqlserver的注入攻擊
13、 防止非本頁提交
14、 自動分頁技術,減少查詢資料返回量
15、 提供內建的欄位值合計功能
16、 資料表直接匯出EXCEL格式
17、 添加記錄時可以指定某列使用HTML編輯器
18、 直接對SQLSERVER操作
19、 支援預存程序
20、 雙層表頭顯示
21、 子表顯示
22、 內建查詢功能
23、 為每一個列產生點擊事件
24、 滑鼠右鍵功能
25、 內建21種實用樣式
26、 行首直接可以產生Checkbox 或Radio
27、 資料表的多種顯示模式(資料表、縮圖、報表)


更多的功能不能盡述。下面是該控制項的簡單應用說明:

一、第一次使用
1. 把DTABLE.DLL檔案拷貝到項目的bin目錄下
2. 如同其他第三方控制項一樣,在自訂工具箱中加入該控制項
3. 把該控制項拖動到頁面合適的位置
4. 重建一下項目,即可發現您現在已經可以訪問northwind資料庫的僱員資料表了
5. 如果您開發的機器上aspnet使用者有許可權訪問northwind資料庫,那麼您的頁面就預設顯示僱員的資料表,否則就會提示您沒有許可權訪問該資料庫。



二、立即顯示你所需要的資料表
1、DTABLE控制資料表的顯示是依靠屬性來設定的。通常情況下,它的屬性都具有一些預設值。如果您覺得它顯示的結果不是您所需要的,那麼請更改相關的屬性來獲得您所需要的結果。
2、 首先,你必須要指定3個屬性,這樣才可以立即顯示您的資料表。
a) 資料庫連接字串屬性DataConnectString 。
使用時設定如:
DTable1.DataConnectString=” data source=localhost;integrated security=sspi;initial catalog=mydatabase”;
當然,您也可以預先把連結字串封裝為其他形式或者是一個全域的變數。如:
DTable1. DataConnectString=Include.datastr;

b) 資料表的名稱TableName 。
使用時設定如:
DTable1.TableName="user_tb";

c) 資料列表的查詢語句List_SqlText
使用時設定如:
DTable1.List_SqlText ="select * from user_tb";

3、 OK,如果您在Page_load事件中定義了上述3個屬性,那麼您重建後即可立即得到您所定義的資料表列表了,而且DTABLE自動給您定義了表的交錯行樣式、TITLE樣式以及分頁欄、行首序號等。
4、 您現在雙擊第一列連結,就可以立即查看該行的所以欄位資訊。當然,這是DTABLE預設允許詳細查看的結果,您也可以關閉,或者自己定義在詳細查看時需要顯示的欄位乃至欄位的名稱……乃至欄位的類型轉換等等。


三、立即擁有記錄更新、添加、刪除的功能而不需要編寫其它代碼。您所需要做的就是設定3個屬性而已。
1. 允許內建的更新功能:AE_EnableEdit
設定:DTable1. AE_EnableEdit=true;

a) 如何使用內建更新功能?
當允許了內建更新功能以後,資料列表自動會出現資料“更新按鈕”,您點擊該按鈕即進入更新列表的狀態。
b) 如何更改資料更新按鈕的外觀?
通過設定屬性:AE_EditButton_Htm來定義更新按鈕的樣式。例如設定該更新按鈕為一個圖片edit.gif為:
DTable1. AE_EditButton_Htm=”<img src=http://www.163design.net/n/i/images/edit.gif border=0>”
c) 如何定義需要更新的欄位?
預設狀態,記錄更新介面將列出該表的所有欄位。可以通過一個屬性設定更新介面顯示出來的欄位:AE_FieldList,如:
DTable1. AE_FieldList=”id,姓名,年齡,性別”
此時,更新介面就僅僅列出姓名、年齡、性別這3個欄位提供更改資料。
d) 記錄更新介面有什麼不同之處?
DTABLE在記錄更新介面提供了大量的易用功能來提高資料錄入的有效性和錄入速度。例如:它自動對日期欄位提供日期選取器(單擊開啟選取器),自動對數值欄位提供計算機(雙擊開啟計算機)。而且,DTABLE自動產生用戶端的數字、日期、最大字元數、不允許空值的檢驗。
e) 關於記錄更新的安全問題
DTABLE內建了防止跨頁提交的功能,即:系統只對本物理頁面提交的資料進行更新,從其他任何頁面,即使來自本網站的頁面所提交的資料禁止更新。同時,DTABLE還提供防重複提交的功能,你不能使用重新整理功能來反覆提交資料。
f) 如何限制更新的條件?
您可以通過屬性設定要更新的資料必須是符合一定規則的資料。詳情請查看後面的記錄更新與添加的進階應用程式。
2. 允許內建的刪除功能:AE_EnableDelete
設定:DTable1. AE_EnableDelete=true;
a) 如何使用內建刪除功能?
當您允許了內建的刪除功能後,資料表就會自動添加一列刪除按鈕。
b) 如何更改刪除按鈕的樣式?
通過設定一個屬性來定義刪除按鈕的外觀:AE_DeleteButton_Html 如:
DTable1. AE_DeleteButton_Html=”<img src=http://www.163design.net/n/i/images/delete.gif border=0>”
c) 如何確保刪除功能的安全?
同內建的記錄更新一樣,DTABLE禁止了跨頁提交刪除命令。同時也提供其他的限制來禁止非法刪除。詳情請看記錄更新、添加、刪除的進階應用程式篇。
3. 允許記錄添加:AE_EnableAddNew
設定:DTable1. AE_EnableAddNew=true;
a) 如何進入記錄添加狀態?
通過訪問當前頁面+參數的方式來訪問記錄添加介面。當然,前提是:您已經允許記錄添加功能。如:
http://localhost/test/test.aspx?addnew=true
上述這個連結後面附帶的參數:?addnew=true即可進入記錄添加介面。如果您沒有允許記錄添加功能,則不會進入記錄添加介面,而是直接進入資料列表顯示介面。
b) 如何定義記錄添加的欄位?
如同定義記錄更時的欄位一樣:AE_FieldList,如:
DTable1. AE_FieldList=”id,姓名,年齡,性別”
記錄添加與更新都使用同一個屬性來定義需要顯示的欄位。
c) 如何定義確保添加記錄的安全?
同記錄更新。
d) DTABLE的記錄添加有何不同之處?
同記錄更新。


四、自己定義資料表顯示1、定義不同類型資料的顯示
a) 布爾欄位
布爾欄位在SQLSERVER中為bit類型,允許的值為1和0。如果我們的資料表要顯示布爾欄位,那麼系統預設可能會顯示true和false。DTABLE提供了一個屬性來定義這種布爾值的轉換:List_FormatBoolReplace_No 例如:我們要把一個查詢select id,姓名,年齡,性別,目前薪金,近照,畢業認證圖片 from user_tb所返回的記錄中的布爾欄位“性別”替換為“男”和“女”,可以設定該屬性DTable1. List_FormatBoolReplace_No=”3|男|女”即可。
當然,也可以在查詢語句中直接設定了替換。
b) 儲存了圖片路徑的欄位
通過設定一個屬性告訴DTABLE,某一個欄位屬於儲存了圖片路徑的欄位,DTABLE就會自動使用該路徑到一個圖片標籤中去。如:DTable1.List_UrlImage_No=”|6|”;
當然,如果有多個這樣的欄位,直接設定即可:DTable1. List_UrlImage_No=”|6|7|”;
請留意:這裡的數字序號指的是資料列表顯示出來的列序號,而查詢語句的第一列不被顯示(作為唯一標識使用)。
c) 貨幣欄位
通過2個簡單的屬性設定貨幣欄位的顯示:
List_FormatCur_No定義了需要作為貨幣格式顯示的欄位序列,同樣允許多個貨幣欄位的顯示,設定如:DTable. List_FormatCur_No=”|4|6|7”; 即:第4、6、7欄位都是貨幣欄位,按貨幣格式顯示。
另外一個屬性定義了貨幣顯示的首碼:List_FormatCur_str ,人民幣設定為:DTable1. List_FormatCur_str=”¥”;美元應該如何設定就不用我重複了吧?
d) 內建的二進位映像欄位
DTABLE允許直接顯示內建的二進位映像欄位。但它並不是自動就開始顯示了,您需要進行如下操作才能正常顯示:
1。定義二進位映像欄位的列名:Test_ImgFieldName 即:DTable1. Test_ImgFieldName=”畢業認證圖片”;
2。定義用於查看二進位映像欄位的檔案名稱。這個檔案名稱是系統即將自動產生的一個檔案。如果您的目前的目錄只有一個頁面會用到直接查看二進位映像欄位,則可以不用定義此屬性。因為它有一個預設的定義。這個屬性是Test_ShowImg_FileName,你可以自己定義一個檔案名稱:DTable1. Test_ShowImg_FileName=”showimg.aspx”;
3。產生該檔案。通過訪問:當前頁的路徑+參數即可立即產生該頁面。如:訪問
http://localhost/test/test.aspx?MakeShowImgFile=True即可產生showimg.aspx這個檔案。
如果您定義的列名是中文,您可能還需要用編輯器開啟showimg.aspx,把裡面不正確的列名更正一下。
4。上述3個步驟通常僅需要進行一次即可。您最後定義一個屬性告訴DTABLE哪一些欄位是二進位映像欄位:List_Image_No 如:
DTable1. List_Image_No=”|5|9|12|”; 即:第5、9、12列都是二進位映像欄位。屆時,資料表自動使用這樣的標籤來實現:<img src=showimg.aspx?id=xxx>



下面是該控制項在資料錄入、更新、刪除中應用的簡單說明:

一、進入資料添加、更新狀態

1、進入資料添加介面

通過訪問當前頁面+參數的方式來進入資料添加狀態。例如當前頁面名稱為:showdtable.aspx,那麼進入添加介面的路徑應該是http://yoursite/aspnetapplication/showdtable.aspx?addnew=true
您可以通過超連結、圖片連結、按鈕動作來進入該頁面。
當然,前提是你必須允許資料添加:DTable1.AE_EnableAddNew=true;

2、進入資料更新介面

進入資料更新介面有多種方式。

1)通過內建的更新按鈕進入更新介面
要開啟內建的更新按鈕,必須要設定一個屬性:DTable1. AE_EnableEdit=true;
該屬性定義了:允許內建的記錄更新功能。此時顯示資料表會自動添加記錄更新的連結,通過點擊該連結進入記錄更新介面。
相關屬性:

2)通過外部自訂連結進入記錄更新介面。你需要先設定一個屬性: AE_showED_button 該屬性定義在允許內建的更新功能時,是否自動顯示進入更新介面的連結按鈕。預設為顯示。
當您決定通過自己定義來實現進入更新介面時,可以定義該屬性為false。需要注意的是:如果從外部進入更新介面,必須要給出連結參數:furl=xxxxx。如:
http://localhost/test/test.aspx?MeditID=28&Furl=/test/test.aspx?PageNo=1
meditid和furl參數是必須的。Meditid定義了記錄的ID,furl定義了進入更新介面的源頁面路徑。您可以通過Page.Request.CurrentExecutionFilePath來擷取當前的路徑。

二、定製記錄添加介面

1、定義需要在添加記錄時的欄位

預設狀態,DTABLE會把資料表的所有欄位作為添加時所需的欄位。它提供了一個屬性來定義你真正需要的欄位,並通過對欄位重定義列名來隱藏資料表的真實細節。
DTable1. AE_FieldList=”id,yourname as 姓名,yousex as 性別,yourage as 年齡”;
通過這樣的設定,資料表就會顯示姓名、性別、年齡3個欄位提供錄入。ID作為識別欄位,一定要放在第一位,否則將會出錯。

2、瞭解DTABLE在記錄添加介面都提供了哪些特性。

1)DTABLE對string欄位將自動使用最大字元數限制、Null 字元檢驗

2)DTABLE對布爾欄位自動使用選項按鈕。如果該布爾欄位允許空值,則預設顯示為均未選取狀態。

3)DTABLE對日期、時間欄位自動使用日期選取器,禁止了鍵盤錄入。雖然DTABLE不允許通過鍵盤輸入日期字元,但是在提交時仍然會檢測該欄位的日期是否合法。

4)DTABLE對數值、money欄位自動使用計算機錄入,通過雙擊文本控制項開啟計算機,同時允許鍵盤錄入。提交時將檢驗輸入的字元是否為合法的數字。需要注意的是:用戶端數值驗證只允許2位小數的數值,大於2位小數的數值被認為非法。

5)DTABLE為記錄連結圖片地址和連結圖片檔案的欄位提供檔案立即上傳功能,並能夠將檔案名稱、檔案路徑儲存到相關的欄位;甚至還可以產生縮圖;不限制改類欄位的數量。
例如:員工表的第5列記錄了員工的學曆證明圖片,第6列記錄了員工提供的培訓認證圖片,我們則可以通過定義屬性:Dtable.AE_Upfiles_No=”|5|6|”;
這個屬性告訴DTABLE,第5、6列為檔案上傳列。在進入記錄添加介面時,第5、6列位置自動顯示檔案控制項,並能在提交時自動上傳圖片。
相關屬性:
AE_Upfile_AutoReName:上傳的檔案是否自動重新命名。預設為true,即:允許自動重新命名
AE_UpFilesFd:定義上傳的檔案需要儲存的路徑,請指定一個相對路徑。例如:./images或../images/abcde
需要確認的是:你的網站必須要存在該檔案夾。
AE_Miniature_Fd:定義縮圖存放的路徑。如果定義了該屬性,DTABLE就認為你所有的Dtable.AE_Upfiles_No所定義的檔案上傳欄位都需要產生縮圖!!
AE_Miniature_width:產生縮圖的最大寬度,同時請指定縮圖的最大高度。屬性類別為Integer
AE_Miniature_height:產生縮圖的最大高度,同時請指定縮圖的最大寬度。屬性類型為Integer

6)DTABLE可以直接上傳檔案到內建的二進位映像欄位,且沒有數量限制。



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。