自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

.NET新手指南:輕松自定義DataGridView控件

譯文
開發(fā) 后端
.NET DataGridView是一個便于使用的數(shù)據(jù)綁定控件。本文為.NET新手介紹了如何使用.NET配置向導VB Express自定義DataGridView控件。只需非常簡單的修改以及一兩行代碼,便可以輕松實現(xiàn)交替顏色行,自定義排序功能以及顯示編輯行。這樣一個既可以瀏覽數(shù)據(jù)又可以編輯數(shù)據(jù)的窗體非常實用。

【51CTO快譯】在創(chuàng)建到外部數(shù)據(jù)的連接時,.NET配置向導是一個很好的開始,它不僅可以為你創(chuàng)建點擊式連接,還可以快速簡單地產(chǎn)生一個控件,用于用戶檢索、顯示和操作數(shù)據(jù),但向導很少產(chǎn)生用戶需要的功能的控件,你可能想對向導產(chǎn)生的控件進行調整——增加需要的功能。

本文的目標讀者是.NET新手。首先講述如何創(chuàng)建一個新連接,然后講述如何自定義結果控件,使用Visual Basic Express(VB Express)配置向導,本文將描述如何填充DataGridView控件,然后按照以下步驟進行提高:

1、行的顯示顏色交替,構成一個綠色條效果;

2、禁用掉DataGridView內置的單列排序功能;

3、執(zhí)行這個窗體時顯示編輯行。

開始

VB Express提供了許多方法檢索和操作外部數(shù)據(jù),例如,只需要運行VB Express的配置向導就可以建立一個到MS Access 示例數(shù)據(jù)庫Northwind.mdb中Customers的連接:

1、啟動VB Express,然后在標準工具欄上點擊新建項目按鈕,在彈出的對話框中選擇Windows Form Application;

2、在名稱控件處輸入一個有意義的名字,點擊確定按鈕;

3、點擊解決方案資源管理器右下角的數(shù)據(jù)源標簽,如果沒有看到這個標簽,從“數(shù)據(jù)”菜單中選擇顯示數(shù)據(jù)源即可;

4、點擊新建數(shù)據(jù)源按鈕,啟動新建數(shù)據(jù)源配置向導;

5、點擊下一步,數(shù)據(jù)庫選項保持默認設置;

6、在下一個面板中點擊新建連接;

7、在彈出的新建連接對話框中,點擊修改,從彈出的修改數(shù)據(jù)源對話框中選擇Access數(shù)據(jù)庫文件,然后點擊確定按鈕;

8、在新建連接對話框中點擊瀏覽,找到Northwind.mdb的位置(在Office目錄的Samples文件夾下),然后點擊確定按鈕;

9、點擊測試連接,然后點擊確定按鈕清除確認消息;

10、如果連接工作正常,點擊確定返回向導窗口,然后點擊下一步繼續(xù);

11、VB Express會詢問你是否要拷貝數(shù)據(jù)庫,如果你選擇“是”,將會把整個數(shù)據(jù)庫拷貝到你的項目下,在這個例子中,我們選擇“否”;

12、接下來的面板中讓你將配置信息保存到配置文件中,默認是要保存,點擊下一步即可(向導會檢索數(shù)據(jù)庫對象,并在源文件中顯示它們,在這里你可以識別一下將要在.Net項目中檢索和操作的數(shù)據(jù));

13、點擊“+”號展開表節(jié)點,選中Customers表,保留默認的NorthwindDataSet,VB Express的數(shù)據(jù)集;

14、點擊完成,VB Express將會檢索指定的數(shù)據(jù)。

創(chuàng)建好連接后,還需要一個窗體來顯示數(shù)據(jù),請跟著我做:

1、點擊數(shù)據(jù)源標簽;

2、點擊Form1標簽,然后從數(shù)據(jù)源標簽拖動Customers數(shù)據(jù)集到窗體設計器中的Form1上,VB Express將會產(chǎn)生一個DataGridView控件并自動命名,圖1顯示了結果窗體和窗體設計器中的網(wǎng)格。

配置向導創(chuàng)建的可以顯示數(shù)據(jù)的控件 
窗體和窗體設計器中的網(wǎng)格:配置向導創(chuàng)建的可以顯示數(shù)據(jù)的控件

3、從文件菜單中選擇保存所有,然后點擊保存按鈕。

至此,你已經(jīng)有一個來自Northwind數(shù)據(jù)庫的數(shù)據(jù)集,和一個顯示該數(shù)據(jù)的DataGridView控件及控件所在的窗體,所有需要做的就是運行一下向導。

#p#

行顯示顏色交替

***個增強是,使用向導創(chuàng)建的控件可以通過修改行的顏色提高易讀性,使用DataGridView時,可以很容易修改屬性:

1、在窗體設計器中,選擇DataGridView控件(不要雙擊,將會打開窗體的代碼頁);

2、在屬性窗口中,打開AlternatingRowsDefaultCellStyle屬性;

3、點擊BackColor屬性的下拉箭頭,顯示CellStyleBuilder對話框;

4、選擇一個與當前顏色不同的顏色(默認是白色),在這個例子中,選擇藍色,如圖2所示,然后點擊確定按鈕。

CellStyleBuilder對話框:選擇一個交替的行顏色 
CellStyleBuilder對話框:選擇一個交替的行顏色

5、按F5運行程序,圖3顯示了使用交替顏色填充的網(wǎng)格控件。

填充好的網(wǎng)格控件:行的顏色在藍色和白色間交替使用 
填充好的網(wǎng)格控件:行的顏色在藍色和白色間交替使用

記住,只設置交替的一行的屬性顏色就可以了,不是要設置所有行的屬性,如果還想更多一點變化,相應設置BackColor和ForeColor即可。

控制排序順序

最初,你產(chǎn)生的控件是按表的順序填充的,因為還沒有指定排序順序,然而,DataGridView是天生就支持排序的,只需要點擊標題欄,控件就會以該欄升序排序記錄,再點擊一次就按降序排序,對于大多數(shù)控件而言,在填充控件時你都可以排序數(shù)據(jù):

1、在窗體設計器中,選擇CustomersBindingSource組件,將會在相應的屬性窗口中更新其項目;

2、在窗口的底部,找到sort屬性,輸入city,如圖4所示。

找到Sort,輸入City:指定一個排序列 
找到Sort,輸入City:指定一個排序列

3、按F5運行程序,正如你在圖5中所看到的,控件按照City值以升序排序記錄。如果想降序排列的話,只需要加上DESC關鍵詞就可以了,即輸入City DESC。

控件排序記錄:窗體通過City值排序記錄 
控件排序記錄:窗體通過City值排序記錄

你可能會禁止這個原生態(tài)的排序功能,但你需要為每個禁止排序的列編寫一小段代碼,例如,為了禁止Contact Title列的排序功能,請跟著我做:

1、在設計視圖窗體中,從視圖菜單選擇代碼,或按F7;

2、開始輸入代碼,很快你就會發(fā)現(xiàn)智能感應不會顯示控件包含的列名,相反,它是按照位置顯示列名的,這不是引用列的***辦法;

3、為了修改DataGridView控件的列的默認名稱,必須修改控件本身的Columns集合,在設計視圖中,雙擊網(wǎng)格(不是窗體),你可能需要稍微放大一下窗體,以便準確選中一個網(wǎng)格,當屬性標題顯示CustomersDataGridView時,你就可以確定選中的是網(wǎng)格而不是窗體了;

4、定位Columns集合,然后點擊Builder按鈕,啟動編輯列對話框,如圖6所示。

點擊Builder按鈕:查看網(wǎng)格的Columns集合 
點擊Builder按鈕:查看網(wǎng)格的Columns集合

5、在選擇列控件中,選擇ContactTitle;

6、在設計區(qū)域(右下角),這個控件的Name屬性值是DataGridViewTextBoxColumn4,使用一個更有意義的名字替代它,這里我們輸入DataGridViewTextBoxContactTitle,如圖7所示。對那些不想設置的隱形列,將其Visible屬性設置為false即可。

為Name屬性輸入一個有意義的名稱 
為Name屬性輸入一個有意義的名稱

7、點擊確定返回代碼窗口(Form1.vb);

8、輸入下面的代碼:

  1. Me.DataGridViewTextBoxContactTitle.SortMode = DataGridViewColumnSortMode.NotSortable 

這一次智能感應按名稱而不是位置列出了列,如圖8所示。

智能感應按名稱列出了列:使用列名代替位置號 
智能感應按名稱列出了列:使用列名代替位置號

9、保存所做的修改;

10、按F5執(zhí)行項目,在結果窗體中,點擊ContactTitle的標題欄,這一次窗體不會排序記錄了,這是因為輸入的代碼禁用了排序功能。

#p#

顯示編輯行

目前,示例窗體顯示了91條記錄,此時如果用戶想要插入一行記錄,必須滾動窗體到編輯行,你可以通過編程讓窗體自動顯示編輯行,將下面的代碼添加到窗體的Load事件中,如圖9所示。

  1. Me.CustomersDataGridView.FirstDisplayedScrollingRowIndex = CustomersDataGridView.Rows.Count - 1 

在窗體的Load事件中添加代碼:強制窗體在載入時顯示編輯行 
在窗體的Load事件中添加代碼:強制窗體在載入時顯示編輯行

按F5運行這個窗體,正如你在圖10中所看到的,這個窗體顯示了一些記錄和編輯行。

顯示記錄和編輯行的窗體:現(xiàn)在啟動窗體,可以看到顯示了編輯行 
顯示記錄和編輯行的窗體:現(xiàn)在啟動窗體,可以看到顯示了編輯行

這個語句從行數(shù)量減去一個1,這樣可以防止異常發(fā)生,因為編輯行沒有真正的索引,直到你點擊了它,即使它影響了行的數(shù)量。這個方法僅僅是確保***一行是可見的,所有的記錄仍然是可用的,現(xiàn)在窗體顯示的記錄條數(shù)與其容量緊密相關,代碼不需要做任何修改。

通過禁用編輯行,這樣就將窗體改為瀏覽窗體了,不能再插入新的行了,要禁用編輯行,只需要在窗體的Load事件中添加一句:

  1. DataGridView1.AllowUserToAddRows = False 

將AllowUserToAddRows屬性設置True就啟用編輯行。

自定義控件使其更易用和靈活

自定義示例窗體并不需要花多少時間:

1、只需要簡單的修改就可以實現(xiàn)交替顏色行;

2、只需要一行代碼就可以禁用掉內置的排序功能;

3、只需要一行代碼就可以顯示編輯行。

如果你是從Access或SQL Server轉過來的,當你見識了可以創(chuàng)建和實現(xiàn)一個既可以瀏覽數(shù)據(jù)又可以編輯數(shù)據(jù)的窗體時,你一定會感到滿意。

原文:The .NET Newbie's Guide to Customizing the DataGridView Control

作者:Charlotte Foust, Susan Sales Harkins

【編輯推薦】

  1. C#中對DatagridView的部分常用操作
  2. ASP.NET窗體和ASP.NET MVC在同一應用中混合使用
  3. ASP.NET中性能和擴展性的秘密
  4. 淺談ASP.NET中ViewState與ViewData的區(qū)別
  5. ASP.NET 3.5圖表控件親密接觸
責任編輯:yangsai 來源: 51CTO.com
相關推薦

2022-05-16 15:37:32

開源軟件

2009-09-03 13:34:03

.NET自定義控件

2009-08-06 17:13:56

ASP.NET自定義控

2022-04-08 12:56:52

Linux終端命令

2010-06-07 16:10:53

HadoopOnDem

2025-01-13 07:15:00

Monorepo代碼倉庫中項目代碼管理

2009-07-28 09:32:41

ASP.NET自定義控

2009-08-10 14:16:59

ASP.NET自定義控

2009-07-31 10:23:09

ASP.NET源碼DateTimePic

2010-06-21 12:39:56

OSPF路由協(xié)議

2023-03-01 08:00:00

機器學習數(shù)據(jù)集

2009-11-16 08:58:43

PHP語言

2010-05-27 10:42:38

SVN配置文檔

2009-08-06 09:18:01

ASP.NET自定義控ASP.NET控件開發(fā)

2016-11-08 09:18:23

Docker.NET CoreLinux

2009-06-08 20:13:36

Eclipse自定義控

2011-04-19 10:33:16

ASP.NET自定義控

2014-06-24 09:41:56

Android Stu教程

2009-08-06 17:52:45

ASP.NET控件開發(fā)自定義控件

2023-03-15 09:46:07

R Markdown代碼語法
點贊
收藏

51CTO技術棧公眾號