DataGridViewæ§ä»¶çä½¿ç¨ æ°ç DataGridView æ¯ .NET 2.0 ä¸çä¸ä¸ªæ°æ§ä»¶ï¼æ¯é对 .NET 1.x ä¸åè½è¾å·®çæ å DataGrid æ§ä»¶è设计çãMatthew MacDonald å¨æ¬æä¸è®ºè¿°äºè®¸å¤æ¹è¿ï¼å
æ¬ï¼DataGridView æ¯æ大éèªå®ä¹åç»è´çæ ¼å¼è®¾ç½®ãçµæ´»ç大å°è°æ´åéæ©ãæ´å¥½çæ§è½ä»¥åæ´ä¸°å¯çäºä»¶æ¨¡åã
.NET Framework çå两个çæ¬ï¼.NET 1.0 å .NET 1.1ï¼å¨æ°æ®ç»å®æ¹é¢çä¸äºææ¾ç空ç½ã尽管å¼å人åæ¥æä¸ä¸ªçµæ´»çå¯é
置模åï¼å¯ä»¥å°å ä¹ææçæ§ä»¶é¾æ¥å°å ä¹ææçæ°æ®æºï¼ä½å´æ²¡æä¸ç§ææçæ¹æ³æ¥æ¾ç¤ºå®æ´çä¿¡æ¯è¡¨ãå¯ä»¥å®ç°æ¤ç®ççå¯ä¸å·¥å
·å°±æ¯ DataGrid æ§ä»¶ï¼è¿ç§æ§ä»¶é常éåäºå¤çç®åçæ¼ç¤ºï¼ä½æ¯ä¸å¤ªéåå®é
代ç ãå¡«è¡¥è¿é¡¹ç©ºç½æ¯ .NET 2.0 ç主è¦ç®æ ä¹ä¸ï¼å¹¶ä¸ Microsoft å·²ç»ç¨å
¨æ°çç½æ ¼æ§ä»¶ DataGridView æ¥å®ç°æ¤ç®æ ãDataGridView æ两个æ导ååãé¦å
ï¼å
¶ç®æ æ¯æ¯æ常è§ä»»å¡ï¼å¦ä¸»æ§/详ç»å表ãéªè¯åæ°æ®æ ¼å¼è®¾ç½®ï¼ï¼èä¸éè¦æ¨ç¼å许å¤ä»£ç ãæ´éè¦çæ¯ï¼è®¾è®¡è¿ç¨ä¸å§ç»èèäºæ©å±æ§ï¼å æ¤æ¨å¯ä»¥éææéçä¸ç¨åè½ï¼èä¸å¿
éç¨ä½çº§å«çå¤æç¼ç¨ãæ¬é¡µå
容
åºæ¬æ°æ®ç»å®
ç¾å DataGridView
ä½¿ç¨ DataGridView éæ©åå
æ ¼
DataGridView 对象
DataGridView æ ·å¼
èªå®ä¹åå
æ ¼æ ¼å¼æé®åå¾ååç¼è¾ DataGridViewå¤çé误éªè¯è¾å
¥ä½¿ç¨å表å约æéæ©
å°ç»åºæ¬æ°æ®ç»å®
çæ DataGridView çæä½³æ¹æ³å°±æ¯å®é
å°è¯ä¸ä¸ï¼æ éé
置任ä½å±æ§ãå°±å DataGrid ä¸æ ·ï¼æ¨å¯ä»¥ä½¿ç¨ DataSource å±æ§æ¥ç»å® DataTable 对象ï¼æä» DataTable æ´¾çç对象ï¼ãDim ds As DataSet = GetDataSet()
DataGridView1.DataSource = ds.Tables(Customers)ä¸ DataGrid ä¸åçæ¯ï¼DataGridView ä¸æ¬¡åªè½æ¾ç¤ºä¸ä¸ªè¡¨ãå¦æç»å®æ´ä¸ª DataSetï¼åä¸ä¼æ¾ç¤ºä»»ä½æ°æ®ï¼é¤éæ¨ä½¿ç¨è¦æ¾ç¤ºç表åè®¾ç½®äº DataMember å±æ§ãDataGridView1.DataSource = ds
DataGridView1.DataMember = Customersåºæ¬ç DataGridView æ¾ç¤ºéµå¾ªä»¥ä¸å 项ç®åçè§åï¼? 为æ°æ®æºä¸çæ¯ä¸ªå段å建ä¸åã
使ç¨å段å称å建åæ é¢ãåæ é¢æ¯åºå®çï¼è¿æå³çç¨æ·å¨å表ä¸åä¸ç§»å¨æ¶åæ é¢ä¸ä¼æ»å¨åºè§å¾ã
æ¯æ Windows XP è§è§æ ·å¼ãæ¨ä¼æ³¨æå°åæ é¢å
·ææ°å¼çå¹³é¢å¤è§ï¼å¹¶ä¸å½ç¨æ·å°é¼ æ 移å°å
¶ä¸æ¶ä¼çªåºæ¾ç¤ºã
DataGridView è¿å
æ¬å 个æ¨å¯è½ä¸ä¼ç«å³æ³¨æå°çé»è®¤è¡ä¸ºï¼? å
许就å°ç¼è¾ãç¨æ·å¯ä»¥å¨åå
æ ¼ä¸åå»ææ F2 æ¥ä¿®æ¹å½åå¼ãå¯ä¸çä¾å¤æ¯å° DataColumn.ReadOnly 设置为 True çå段ï¼å¦å½å示ä¾ä¸ç OrderID å段ï¼ã
æ¯æèªå¨æåºãç¨æ·å¯ä»¥å¨åæ é¢ä¸åå»ä¸æ¬¡æ两次ï¼åºäºè¯¥å段ä¸çå¼æååºæéåºå¯¹å¼è¿è¡æåºãé»è®¤æ
åµä¸ï¼æåºæ¶ä¼èè
æ°æ®ç±»å并æåæ¯ææ°å顺åºè¿è¡æåºãåæ¯é¡ºåºåºå大å°åã
å
许ä¸åç±»åçéæ©ãç¨æ·å¯ä»¥éè¿åå»å¹¶æå¨æ¥çªåºæ¾ç¤ºä¸ä¸ªåå
æ ¼ãå¤ä¸ªåå
æ ¼æå¤ä¸ªè¡ãåå» DataGridView å·¦ä¸è§çæ¹åå¯ä»¥éæ©æ´ä¸ªè¡¨ã
æ¯æèªå¨è°æ´å¤§å°åè½ãç¨æ·å¯ä»¥å¨æ é¢ä¹é´çå
åé符ä¸åå»ï¼ä½¿å·¦è¾¹çåèªå¨æç
§åå
æ ¼çå
容å±å¼ææ¶ç¼©ã
è¿å页é¦ç¾å DataGridView
DataGridView çé»è®¤å¤è§ä»
ä»
æ¯ DataGrid ç¥ææ¹è¿ï¼ä½æ¯ä½¿ç¨å 项快éè°æ´åè½ï¼æ¨å¯ä»¥å°å
¶æ¾èæ¹è¿ãå
¶ä¸çä¸ä¸ªé®é¢å°±æ¯åæ æ³èªå¨å±å¼ä»¥éåå
¶å
å«çæ°æ®ãæ¨å¯ä»¥ä½¿ç¨ DataGridView.AutoSizeColumns() æ¹æ³ä»¥å DataGridViewAutoSizeColumnCriteria
æ举ä¸çæ个å¼æ¥è§£å³æ¤é®é¢ãæ¨å¯ä»¥éæ©æ ¹æ®æ é¢ææ¬ãå½åæ¾ç¤ºçè¡æ表ä¸çææè¡çç宽度æ¥è°æ´å宽ã' æ ¹æ®æ é¢ææ¤åçæä¸è¡ä¸
' æé¿ä¸æ®µææ¬ç宽度è°æ´
' å宽ã
DataGridView1.AutoSizeColumns( _
DataGridViewAutoSizeColumnCriteria.HeaderAndRows)请记ä½ï¼æ¤æ¹æ³å¿
é¡»å¨ç»å®æ°æ®åè°ç¨ï¼å¦åä¸ä¼äº§çä»»ä½ææãä½ å¯è½è¿éè¦å¨ç¨æ·ç¼è¾æ°æ®å使ç¨å®ï¼å¯è½å¨ååº DataGridView.CellValueChanged çäºä»¶æ¶ï¼ãå¦æä¸å¢å å宽ï¼åå¯ä»¥æ´æ¹è¡é«ãé»è®¤æ
åµä¸ï¼åä¸çææ¬ä¼è·¨è¶å¤è¡ãå¦ææ¨ä½¿ç¨ DataGridView.AutoSizeRows() æ¹æ³ï¼åè¡ä¼æ ¹æ®å
¶ä¸çå
容è°æ´é«åº¦ã使ç¨æ¤æ¹æ³åï¼æ¨å¯è½å¸æå¢å å宽ï¼å°¤å
¶æ¯å¨å段å
å«å¤§éææ¬æ¶ãä¾å¦ï¼ä»¥ä¸ä»£ç ç段使â说æâåçå宽å¢å 为åå宽çååï¼ç¶åè°æ´è¡é«ä»¥å®¹çº³å
¶å
容ãDataGridView.Columns(Description).Width *= 4