Henry手記— WinForm Datagrid結構剖析(一)-Windows開發-.NET教程-

來源:互聯網
上載者:User
Henry手記— WinForm Datagrid結構剖析(一)
                韓睿 (2002-11-14)

早就想動手寫這個專題,但一直有疑惑自己對於.net的winform中的Datagrid是不是已經能夠進行全面的剖析。但近來問起相關問題的人越來越多,一來是使用.net的程式員在增多,二來是大家對Datagrid的使用已經擺脫了最初的顯示資料的需求,想要進行進階一點的使用,就應該對Datagrid的結構有一個充分的認識,本文希望能夠給有這方面需求的朋友一點小幫忙。
一、    基本結構
從外形上看,Datagrid是由多個表(table)組成的,table是由行(row)與列(column)組成的,行與列的互動,組成的一個個單元(cell)。我們的需要就是能控制每一個cell的變化,從而使row與column發生變化,最終形成table的變化。這每一種變化都可視為是Datagrid中table的一種風格格式(style)。
我們在往form上部署Datagrid控制項後,會在其屬性視窗下方會出現“自動套用格式”,它們的變化多是背景色(Backcolor)與前景色彩(Forecolor)與字型(Font)的變化。經過本文的講述後,您將能夠實現更多的格式變化。
描述基本結構,首先請看圖1顯示的內容:

但是,Datagrid並不能直接寫入資料,在圖1中顯示的資料是由datagrid的datasource(資料來源)決定的。而這個datasource是支援IEnumerable介面的對象,比如:Arraylist、Collection、Dataview、Datarow、Datatable等等。(這個問題不是本文討論的重點,暫略過)
那麼Datagrid的結構究竟是怎麼樣的?我嘗試的畫了一個結構圖如圖2所示:
為清晰所見,我們主要討論Datagrid->DatagridTableStyle->DatagridColumnStyle這一支。我們平常所看到的預設結構Datagrid,即把DatagridColumnStyle設定為DatagridTextBoxColumn列結構,把datagrid的列設為由textbox組成。從而我們就可以看到圖1顯示出來的那種效果,每一個cell裡都是一個textbox。同理,我們就知道如果把某一列的DatagridColumnStyle設定為DatagridBoolColumn列結構,就可以在該列中用checkbox控制項顯示與更改boolean類型的值了。我們甚至可以自訂某一列的列類型,加入combox等等,這方面內容在後文會有詳述。
相關文章

聯繫我們

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

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

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.