偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

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

【51CTO快譯】在創(chuàng)建到外部數(shù)據(jù)的連接時(shí),.NET配置向?qū)且粋€(gè)很好的開(kāi)始,它不僅可以為你創(chuàng)建點(diǎn)擊式連接,還可以快速簡(jiǎn)單地產(chǎn)生一個(gè)控件,用于用戶檢索、顯示和操作數(shù)據(jù),但向?qū)Ш苌佼a(chǎn)生用戶需要的功能的控件,你可能想對(duì)向?qū)Мa(chǎn)生的控件進(jìn)行調(diào)整——增加需要的功能。

本文的目標(biāo)讀者是.NET新手。首先講述如何創(chuàng)建一個(gè)新連接,然后講述如何自定義結(jié)果控件,使用Visual Basic Express(VB Express)配置向?qū)В疚膶⒚枋鋈绾翁畛銬ataGridView控件,然后按照以下步驟進(jìn)行提高:

1、行的顯示顏色交替,構(gòu)成一個(gè)綠色條效果;

2、禁用掉DataGridView內(nèi)置的單列排序功能;

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

開(kāi)始

VB Express提供了許多方法檢索和操作外部數(shù)據(jù),例如,只需要運(yùn)行VB Express的配置向?qū)Ь涂梢越⒁粋€(gè)到MS Access 示例數(shù)據(jù)庫(kù)Northwind.mdb中Customers的連接:

1、啟動(dòng)VB Express,然后在標(biāo)準(zhǔn)工具欄上點(diǎn)擊新建項(xiàng)目按鈕,在彈出的對(duì)話框中選擇Windows Form Application;

2、在名稱(chēng)控件處輸入一個(gè)有意義的名字,點(diǎn)擊確定按鈕;

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

4、點(diǎn)擊新建數(shù)據(jù)源按鈕,啟動(dòng)新建數(shù)據(jù)源配置向?qū)В?/P>

5、點(diǎn)擊下一步,數(shù)據(jù)庫(kù)選項(xiàng)保持默認(rèn)設(shè)置;

6、在下一個(gè)面板中點(diǎn)擊新建連接;

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

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

9、點(diǎn)擊測(cè)試連接,然后點(diǎn)擊確定按鈕清除確認(rèn)消息;

10、如果連接工作正常,點(diǎn)擊確定返回向?qū)Т翱冢缓簏c(diǎn)擊下一步繼續(xù);

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

12、接下來(lái)的面板中讓你將配置信息保存到配置文件中,默認(rèn)是要保存,點(diǎn)擊下一步即可(向?qū)?huì)檢索數(shù)據(jù)庫(kù)對(duì)象,并在源文件中顯示它們,在這里你可以識(shí)別一下將要在.Net項(xiàng)目中檢索和操作的數(shù)據(jù));

13、點(diǎn)擊“+”號(hào)展開(kāi)表節(jié)點(diǎn),選中Customers表,保留默認(rèn)的NorthwindDataSet,VB Express的數(shù)據(jù)集;

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

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

1、點(diǎn)擊數(shù)據(jù)源標(biāo)簽;

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

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

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

至此,你已經(jīng)有一個(gè)來(lái)自Northwind數(shù)據(jù)庫(kù)的數(shù)據(jù)集,和一個(gè)顯示該數(shù)據(jù)的DataGridView控件及控件所在的窗體,所有需要做的就是運(yùn)行一下向?qū)А?/P>

#p#

行顯示顏色交替

***個(gè)增強(qiáng)是,使用向?qū)?chuàng)建的控件可以通過(guò)修改行的顏色提高易讀性,使用DataGridView時(shí),可以很容易修改屬性:

1、在窗體設(shè)計(jì)器中,選擇DataGridView控件(不要雙擊,將會(huì)打開(kāi)窗體的代碼頁(yè));

2、在屬性窗口中,打開(kāi)AlternatingRowsDefaultCellStyle屬性;

3、點(diǎn)擊BackColor屬性的下拉箭頭,顯示CellStyleBuilder對(duì)話框;

4、選擇一個(gè)與當(dāng)前顏色不同的顏色(默認(rèn)是白色),在這個(gè)例子中,選擇藍(lán)色,如圖2所示,然后點(diǎn)擊確定按鈕。

CellStyleBuilder對(duì)話框:選擇一個(gè)交替的行顏色 
CellStyleBuilder對(duì)話框:選擇一個(gè)交替的行顏色

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

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

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

控制排序順序

最初,你產(chǎn)生的控件是按表的順序填充的,因?yàn)檫€沒(méi)有指定排序順序,然而,DataGridView是天生就支持排序的,只需要點(diǎn)擊標(biāo)題欄,控件就會(huì)以該欄升序排序記錄,再點(diǎn)擊一次就按降序排序,對(duì)于大多數(shù)控件而言,在填充控件時(shí)你都可以排序數(shù)據(jù):

1、在窗體設(shè)計(jì)器中,選擇CustomersBindingSource組件,將會(huì)在相應(yīng)的屬性窗口中更新其項(xiàng)目;

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

找到Sort,輸入City:指定一個(gè)排序列 
找到Sort,輸入City:指定一個(gè)排序列

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

控件排序記錄:窗體通過(guò)City值排序記錄 
控件排序記錄:窗體通過(guò)City值排序記錄

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

1、在設(shè)計(jì)視圖窗體中,從視圖菜單選擇代碼,或按F7;

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

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

4、定位Columns集合,然后點(diǎn)擊Builder按鈕,啟動(dòng)編輯列對(duì)話框,如圖6所示。

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

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

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

為Name屬性輸入一個(gè)有意義的名稱(chēng) 
為Name屬性輸入一個(gè)有意義的名稱(chēng)

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

8、輸入下面的代碼:

  1. Me.DataGridViewTextBoxContactTitle.SortMode = DataGridViewColumnSortMode.NotSortable 

這一次智能感應(yīng)按名稱(chēng)而不是位置列出了列,如圖8所示。

智能感應(yīng)按名稱(chēng)列出了列:使用列名代替位置號(hào) 
智能感應(yīng)按名稱(chēng)列出了列:使用列名代替位置號(hào)

9、保存所做的修改;

10、按F5執(zhí)行項(xiàng)目,在結(jié)果窗體中,點(diǎn)擊ContactTitle的標(biāo)題欄,這一次窗體不會(huì)排序記錄了,這是因?yàn)檩斎氲拇a禁用了排序功能。

#p#

顯示編輯行

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

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

在窗體的Load事件中添加代碼:強(qiáng)制窗體在載入時(shí)顯示編輯行 
在窗體的Load事件中添加代碼:強(qiáng)制窗體在載入時(shí)顯示編輯行

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

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

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

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

  1. DataGridView1.AllowUserToAddRows = False 

將AllowUserToAddRows屬性設(shè)置True就啟用編輯行。

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

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

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

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

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

如果你是從Access或SQL Server轉(zhuǎn)過(guò)來(lái)的,當(dāng)你見(jiàn)識(shí)了可以創(chuàng)建和實(shí)現(xiàn)一個(gè)既可以瀏覽數(shù)據(jù)又可以編輯數(shù)據(jù)的窗體時(shí),你一定會(huì)感到滿意。

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

作者:Charlotte Foust, Susan Sales Harkins

【編輯推薦】

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

2022-05-16 15:37:32

開(kāi)源軟件

2009-09-03 13:34:03

.NET自定義控件

2010-06-07 16:10:53

HadoopOnDem

2022-04-08 12:56:52

Linux終端命令

2025-01-13 07:15:00

Monorepo代碼倉(cāng)庫(kù)中項(xiàng)目代碼管理

2009-08-06 17:13:56

ASP.NET自定義控

2009-07-28 09:32:41

ASP.NET自定義控

2009-08-10 14:16:59

ASP.NET自定義控

2010-06-21 12:39:56

OSPF路由協(xié)議

2023-03-01 08:00:00

機(jī)器學(xué)習(xí)數(shù)據(jù)集

2009-08-06 09:18:01

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

2010-05-27 10:42:38

SVN配置文檔

2009-11-16 08:58:43

PHP語(yǔ)言

2009-07-31 10:23:09

ASP.NET源碼DateTimePic

2011-04-19 10:33:16

ASP.NET自定義控

2016-11-08 09:18:23

Docker.NET CoreLinux

2014-06-24 09:41:56

Android Stu教程

2011-08-23 10:11:10

LinuxTop命令

2010-08-04 09:06:21

Flex安裝

2023-03-15 09:46:07

R Markdown代碼語(yǔ)法
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)