亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > DataGridView控件詳細(xì)介紹

DataGridView控件詳細(xì)介紹

熱門標(biāo)簽:東莞語音電銷機(jī)器人排名 太原外呼電銷機(jī)器人費(fèi)用 電話機(jī)器人廣告話術(shù) 淘寶地圖標(biāo)注如何做 使用智能電話機(jī)器人違法嗎 朝陽市地圖標(biāo)注 外呼系統(tǒng)用員工身份證 蘇州銷售外呼系統(tǒng)預(yù)算 保山電話外呼管理系統(tǒng)怎么用
1何為DataGridView
通過DataGridView控件,可以顯示和編輯表格式的數(shù)據(jù),而這些數(shù)據(jù)可以取自多種不同類型的數(shù)據(jù)源。
DataGridView控件具有很高的的可配置性和可擴(kuò)展性,提供了大量的屬性、方法和事件,可以用來對該控件的外觀和行為進(jìn)行自定義。當(dāng)你需要在WinForm應(yīng)用程序中顯示表格式數(shù)據(jù)時(shí),可以優(yōu)先考慮DataGridView(相比于DataGrid等其它控件)。如果你要在小型網(wǎng)格中顯示只讀數(shù)據(jù),或者允許用戶編輯數(shù)以百萬計(jì)的記錄,DataGridView將為你提供一個(gè)易于編程和良好性能的解決方案。

DataGridView 用來替換先前版本中的DataGrid,擁有較DataGrid更多的功能;但DataGrid仍然得到保留,以備向后兼容和將來使用。如果你要在兩者中選擇,可以參考下面給出的DataGrid 和DataGridView之間區(qū)別的細(xì)節(jié)信息。

1.1DataGridView和DataGrid 之間的區(qū)別
DataGridView提供了大量的DataGrid所不具備的基本功能和高級功能。此外,DataGridView 的結(jié)構(gòu)使得它較之DataGrid控件更容易擴(kuò)展和自定義。
下表描述了DataGridView提供而DataGrid未提供的幾個(gè)主要功能。

DataGridView功能

描述

多種列類型

與DataGrid相比,DataGridView 提供了更多的內(nèi)置列類型。這些列類型能夠滿足大部分常見需要,而且比DataGrid中的列類型易于擴(kuò)展或替換。

多種數(shù)據(jù)顯示方式

DataGrid僅限于顯示外部數(shù)據(jù)源的數(shù)據(jù)。而DataGridView則能夠顯示非綁定的數(shù)據(jù),綁定的數(shù)據(jù)源,或者同時(shí)顯示綁定和非綁定的數(shù)據(jù)。你也可以在DataGridView中實(shí)現(xiàn)virtual mode,實(shí)現(xiàn)自定義的數(shù)據(jù)管理。

用于自定義數(shù)據(jù)顯示的多種方式

DataGridView提供了很多屬性和事件,用于數(shù)據(jù)的格式化和顯示。比如,你可以根據(jù)單元格、行和列的內(nèi)容改變其外觀,或者使用一種類型的數(shù)據(jù)替代另一種類型的數(shù)據(jù)。

用于更改單元格、行、列、表頭外觀和行為的多個(gè)選項(xiàng)

DataGridView使你能夠以多種方式操作單個(gè)網(wǎng)格組件。比如,你可以凍結(jié)行和列,避免它們因滾動而不可見;隱藏行、列、表頭;改變行、列、表頭尺寸的調(diào)整方式;為單個(gè)的單元格、行和列提供工具提示(ToolTip)和快捷菜單。



唯一的一個(gè)DataGrid提供而DataGridView未提供的特性是兩個(gè)相關(guān)表中數(shù)據(jù)的分層次顯示(比如常見的主從表顯示)。你必須使用兩個(gè)DataGridView來顯示具有主從關(guān)系的兩個(gè)表的數(shù)據(jù)。

1.2DataGridView的亮點(diǎn)
下表著重顯示了DataGridView的主要特性,稍后會介紹它們的詳細(xì)信息。

DataGridView控件特性

描述

多種列類型

DataGridView提供有TextBox、CheckBox、Image、Button、ComboBox和Link類型的列及相應(yīng)的單元格類型。

多種數(shù)據(jù)顯示方式

DataGrid僅限于顯示外部數(shù)據(jù)源的數(shù)據(jù)。而DataGridView則能夠顯示非綁定的數(shù)據(jù),綁定的數(shù)據(jù)源,或者同時(shí)顯示綁定和非綁定的數(shù)據(jù)。你也可以在DataGridView中實(shí)現(xiàn)virtual mode,實(shí)現(xiàn)自定義的數(shù)據(jù)管理。

自定義數(shù)據(jù)的顯示和操作的多種方式

DataGridView提供了很多屬性和事件,用于數(shù)據(jù)的格式化和顯示。

此外,DataGridView提供了操作數(shù)據(jù)的多種方式,比如,你可以:

  • 對數(shù)據(jù)排序,并顯示相應(yīng)的排序符號(帶方向的箭頭表示升降序)
  • 對行、列和單元格的多種選擇模式;多項(xiàng)選擇和單項(xiàng)選擇
  • 以多種格式將數(shù)據(jù)拷貝到剪貼板,包括text,CSV (以逗號隔開的值) 和 HTML
  • 改變用戶編輯單元格內(nèi)容的方式

用于更改單元格、行、列、表頭外觀和行為的多個(gè)選項(xiàng)

DataGridView使你能夠以多種方式操作單個(gè)網(wǎng)格組件。比如,你可以:

  • 凍結(jié)行和列,避免它們因滾動而不可見;
  • 隱藏行、列、表頭;
  • 改變行、列、表頭尺寸的調(diào)整方式;
  • 改變用戶對行、列、單元格的選擇模式;
  • 為單個(gè)的單元格、行和列提供工具提示(ToolTip)和快捷菜單。
  • 自定義單元格、行和列的邊框樣式。

提供豐富的可擴(kuò)展性的支持

DataGridView提供易于對網(wǎng)格進(jìn)行擴(kuò)展和自定義的基礎(chǔ)結(jié)構(gòu),比如:

  • 處理自定義的繪制事件可以為單元格、列和行提供自定義的觀感;
  • 繼承一個(gè)內(nèi)置的單元格類型以為其提供更多的行為;
  • 實(shí)現(xiàn)自定義的接口以提供新的編輯體驗(yàn)。


2DataGridView的結(jié)構(gòu)
DataGridView及其相關(guān)類被設(shè)計(jì)為用于顯示和編輯表格數(shù)據(jù)式數(shù)據(jù)的靈活的、可擴(kuò)展的體系。這些類都位于system.Windows.Forms命名空間,它們的名稱也都有共同的前綴"DataGridView"。

2.1結(jié)構(gòu)元素(Architecture Elements)
主要的DataGridView相關(guān)類繼承自DataGridViewElement類。
DataGridViewElement類有兩個(gè)屬性,一是DataGridView,該屬性提供了對其所屬的DataGridView的引用;二是State,該屬性表示當(dāng)前的狀態(tài),其值為DataGridViewElementStates枚舉,該枚舉支持位運(yùn)算,這意味著可以設(shè)置組合狀態(tài)。

2.2單元格和組(Cells and Bands)
DataGridView由兩種基本的對象組成:單元格(cell)和組(band)。所有的單元格都繼承自DataGridViewCell基類。 兩種類型的組(或稱集合)DataGridViewColumn和DataGridViewRow都繼承自DataGridViewBand 基類,表示一組結(jié)合在一起的單元格。
DataGridView會與一些類進(jìn)行互操作,但最常打交道的則是如下三個(gè):DataGridViewCell, DataGridViewColumn,DataGridViewRow。

2.3DataGridView的單元格 (DataGridViewCell)
單元格(cell)是操作DataGridView的基本單位。Display is centered on cells, and data entry is often performed through cells。可以通過DataGridViewRow 類的Cells 集合屬性訪問一行包含的單元格,通過DataGridView的SelectedCells集合屬性訪問當(dāng)前選中的單元格,通過DataGridView的CurrentCell屬性訪問當(dāng)前的單元格。

DataGridViewCell 類圖

Cell相關(guān)類和屬性



DataGridViewCell是一個(gè)抽象基類,所有的單元格類型都繼承于此。DataGridViewCell及其繼承類型并不是Windows Forms控件,但其中一些宿主于Windows Forms控件。單元格支持的編輯功能通常都由其宿主控件來處理。

DataGridViewCell對象不會像Windows Forms控件那樣控制自己的外觀和繪制(painting)特征,相反的,DataGridView會負(fù)責(zé)其包含的單元格的外觀。通過DataGridView 控件的屬性和事件,你可以深刻地影響單元格的外觀和行為。如果你對單元格定制有特殊要求,超出了DataGridView提供的功能,可以繼承DataGridViewCell或者它的某個(gè)子類來滿足這些要求。

2.3.1DataGridViewCell的工作機(jī)制
理解DataGridView結(jié)構(gòu)的一個(gè)重要部分是理解DataGridViewCell的工作機(jī)制:

單元格的值(A Cell's Value)
單元格的值是其根本所在。如果單元格所在列不是綁定列,并且所在的DataGridView也不是Virtual Mode,那么它的值就由它本身所持有并維護(hù)。對于那些由綁定產(chǎn)生的單元格,它們壓根兒就不“知道”該持有什么值,當(dāng)然也就不會去維護(hù)了;當(dāng)DataGridView需要單元格的值的時(shí)候,它會到數(shù)據(jù)源中查詢該單元格應(yīng)當(dāng)顯示的值。在Virtual Mode下,除了會觸發(fā)CellValueNeeded事件以獲取相應(yīng)單元格的值外,與數(shù)據(jù)綁定方式非常相似。在單元格級,所有這些由DataGridViewCell.GetValue() 方法來控制。
默認(rèn)情況下,單元格的值的類型為object。當(dāng)一個(gè)列被綁定后,會設(shè)置它的ValueType屬性,它包含的單元格的ValueType也隨之更新。而單元格的ValueType對于下一步的格式化非常重要。

格式化顯示(Formatting for Display)
注意:當(dāng)DataGridView需要了解“如何顯示這個(gè)單元格”時(shí),它需要的是單元格的FormattedValue ,而不是Value。這是一個(gè)復(fù)雜的過程,因?yàn)楦袷交聊簧系囊恍﹥?nèi)容通常需要將它轉(zhuǎn)換為字符串。例如,盡管你將單元格的值(Value)設(shè)置為整型值155,在顯示它的時(shí)候仍需要將其格式化。單元格和其所在的列的FormattedValueType 屬性決定了顯示它時(shí)所用的類型。多數(shù)列使用字符串類型,而Image和CheckBox類型的單元格/列則使用其它類型。Image類型的單元格和列使用Image作為默認(rèn)的FormattedValueType,它的內(nèi)置實(shí)現(xiàn)了解如何去顯示一個(gè)Image。CheckBox類型的單元格/列的FormattedValueType屬性則取決于屬性ThreeState的值。在單元格級,所有這些由DataGridViewCell.GetFormattedValue()控制。

默認(rèn)情況下,DataGridView使用TypeConverter將單元格的值(Value)轉(zhuǎn)換為格式化的值(FormattedValue)。DataGridView會基于單元格的ValueType和FormattedValueType屬性來獲取合時(shí)的TypeConverter。

對于一個(gè)單元格,F(xiàn)ormattedValue會得到多次請求(即會在多個(gè)地方用到):繪制單元格的時(shí)候,所在列根據(jù)單元格內(nèi)容自動調(diào)整大小的時(shí)候,甚至是在判斷鼠標(biāo)是否經(jīng)過單元格內(nèi)容時(shí)。每次需要FormattedValue的時(shí)候,DataGridView會觸發(fā)CellFormatting事件,這時(shí)你就有機(jī)會修改單元格的格式化顯示了。
如果單元格不能獲取它的格式化值,它會觸發(fā)DataError事件。

格式化顯示單元格還包含以怎樣的首選尺寸顯示它。這個(gè)首選尺寸是由單元格的FormattedValue,填充區(qū)域(padding),附加顯示和邊框合并而成。

繪制單元格的顯示(Painting the Display)
在獲得FormattedValue 后,單元格將負(fù)責(zé)繪制它的內(nèi)容。單元格決定了繪制過程所使用的正確樣式(參見本文檔第五章的樣式部分)并進(jìn)行繪制。記住:如果單元格不去繪制自己,那么該單元格將不會有任何內(nèi)容得到繪制(即單元格的繪制只由它自己負(fù)責(zé)),行、列不會負(fù)責(zé)繪制任何內(nèi)容,因此要確保至少要繪制單元格的背景(background),否則單元格所在的矩形區(qū)域仍然是無效的(即未經(jīng)繪制)。

解析單元格的顯示(Parsing the Display)
用戶開始與單元格交互后,可能會編輯單元格的值。有一件事要記住,用戶編輯的實(shí)際上是單元格的FormattedValue。用戶提交所編輯的值時(shí),F(xiàn)ormattedValue需要轉(zhuǎn)換回單元格的值(Value),這個(gè)過程稱為解析(parsing)。在單元格級上,所有這些工作由單元格的DataGridViewCell.ParseFormattedValue(int rowIndex)方法控制。
默認(rèn)情況下,會再次使用TypeConverter來將FormattedValue解析為單元格的真實(shí)值,這時(shí)會觸發(fā)DataGridView的CellParsing事件,這時(shí)你就有機(jī)會修改單元格的解析方式了。

如果單元格不能得到正確地解析,會觸發(fā)DataError事件。
您可能感興趣的文章:
  • WinForm DataGridView控件隔行變色的小例子
  • DataGridView控件顯示行號的正確代碼及分析

標(biāo)簽:西藏 潛江 洛陽 呼倫貝爾 克拉瑪依 運(yùn)城 綏化 阿里

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《DataGridView控件詳細(xì)介紹》,本文關(guān)鍵詞  DataGridView,控件,詳細(xì),介紹,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《DataGridView控件詳細(xì)介紹》相關(guān)的同類信息!
  • 本頁收集關(guān)于DataGridView控件詳細(xì)介紹的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    99色视频在线观看| 欧美激情一区二区三区视频 | 国产网站麻豆精品视频| 你懂的福利视频| 欧美电影免费看大全| 国产一区二区精品| 欧美一级视| 国产高清在线精品一区a| 中文字幕Aⅴ资源网| 精品在线免费播放| 精品毛片视频| 天天做人人爱夜夜爽2020| 麻豆网站在线免费观看| 日韩专区一区| 久久国产影院| 久久99这里只有精品国产| 美女免费精品高清毛片在线视| 国产成人啪精品视频免费软件| 久久久成人影院| 久草免费在线视频| 精品视频一区二区三区免费| 色综合久久久久综合体桃花网| 久草免费在线色站| 国产精品123| 精品久久久久久中文字幕一区| 一级女性全黄生活片免费| 人人干人人草| 四虎久久影院| 四虎影视久久| 999精品在线| 欧美激情一区二区三区视频高清| 国产一区二区精品久久91| 国产视频网站在线观看| 在线观看导航| 999精品在线| 国产a毛片| 精品国产亚洲人成在线| 国产一区二区精品尤物| 99久久精品国产麻豆| 欧美a级片视频| 一级毛片视频在线观看| 日本在线www| 精品国产一区二区三区久| 日韩中文字幕一区| 四虎精品在线观看| 欧美日本二区| 成人高清护士在线播放| 日韩av片免费播放| 欧美大片aaaa一级毛片| 日本免费乱理伦片在线观看2018| 日韩av成人| 青青久久网| 91麻豆国产级在线| 欧美激情在线精品video| 成人影院久久久久久影院| 四虎影视库国产精品一区| 亚久久伊人精品青青草原2020| 日本在线www| 韩国三级视频网站| 亚洲女初尝黑人巨高清在线观看| 毛片高清| 日本在线播放一区| 国产福利免费视频| 欧美激情一区二区三区在线| 精品视频一区二区三区免费| 国产成人欧美一区二区三区的| 黄视频网站在线免费观看| 日韩av片免费播放| 欧美另类videosbestsex| 国产一区精品| 精品国产香蕉在线播出| 成人免费观看的视频黄页| 久久福利影视| 久久精品免视看国产明星| 精品久久久久久免费影院| 黄视频网站在线看| 超级乱淫黄漫画免费| 国产伦精品一区二区三区无广告| 国产伦理精品| 九九免费高清在线观看视频| 精品久久久久久综合网| 亚洲爆爽| 成人高清视频在线观看| 精品毛片视频| 美女免费精品高清毛片在线视| 久久久久久久网| 亚洲精品中文字幕久久久久久| 日本在线www| 久久国产精品只做精品| 午夜久久网| 999精品视频在线| 国产极品白嫩美女在线观看看| 一本高清在线| 天天做日日爱夜夜爽| 亚洲 激情| 亚飞与亚基在线观看| 成人免费观看视频| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 免费国产在线视频| 国产一区二区福利久久| 免费国产在线观看| 欧美a级成人淫片免费看| 精品国产香蕉伊思人在线又爽又黄| 黄色免费网站在线| 日本特黄特黄aaaaa大片| 欧美另类videosbestsex视频| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 高清一级片| 青青青草视频在线观看| 日韩在线观看视频免费| 欧美a级片视频| 毛片电影网| 九九久久国产精品| 日韩专区一区| 香蕉视频三级| 日韩中文字幕一区| 欧美激情在线精品video| 国产综合成人观看在线| 韩国毛片 免费| 黄色免费网站在线| 四虎影视精品永久免费网站| 四虎精品在线观看| 成人高清视频免费观看| 夜夜操天天爽| 国产视频一区在线| 成人免费观看网欧美片| 色综合久久手机在线| 亚洲第一色在线| 午夜激情视频在线播放| 午夜家庭影院| 欧美爱色| 精品国产三级a∨在线观看| 成人高清视频在线观看| 成人影院一区二区三区| 日本免费看视频| 国产一区二区福利久久| 色综合久久天天综线观看| 国产一级生活片| 亚洲 男人 天堂| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 国产不卡福利| 日本乱中文字幕系列| 一a一级片| 欧美激情一区二区三区在线| 毛片电影网| 99久久网站| 亚洲 激情| 四虎久久影院| 久草免费在线视频| 国产不卡在线观看视频| 91麻豆tv| 91麻豆爱豆果冻天美星空| 精品国产亚一区二区三区| 久久国产一区二区| 精品久久久久久中文字幕2017| 国产麻豆精品高清在线播放| 中文字幕97| 国产国语对白一级毛片| 青青久久国产成人免费网站| 日韩欧美一及在线播放| 黄色福利| 欧美国产日韩久久久| 欧美a级大片| 欧美1卡一卡二卡三新区| 美女免费精品高清毛片在线视| a级精品九九九大片免费看| 91麻豆精品国产片在线观看| 久久精品欧美一区二区| 亚洲第一色在线| 可以免费看毛片的网站| 一级毛片视频免费| 国产一区二区高清视频| 可以免费看毛片的网站| 免费一级生活片| 午夜激情视频在线播放| 沈樵在线观看福利| 亚欧成人毛片一区二区三区四区| 国产91素人搭讪系列天堂| 国产视频一区在线| 91麻豆tv| 久久国产精品自线拍免费| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 国产视频一区在线| 欧美激情在线精品video| 成人高清护士在线播放| 日韩专区一区| 你懂的福利视频| 99久久精品国产国产毛片| 91麻豆精品国产综合久久久| 精品国产亚一区二区三区| 国产一级生活片| 国产亚洲精品aaa大片| 日韩中文字幕一区| 日本伦理片网站| 精品国产一区二区三区久久久蜜臀| 欧美大片一区| 九九久久99| 日韩一级黄色片| 精品国产亚一区二区三区| 色综合久久天天综合|