国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

C# DataGridView使用記錄分享

2019-11-17 02:33:05
字體:
來源:轉載
供稿:網友

C# DataGridView使用記錄分享

最近使用DataGridView,把其中遇到的問題和一些知識記錄下來,以便以后用到的時候可以快速的想起。1、添加行號  有時我們在使用DataGridView時會被要求添加在每一行數據前面添加上行號,一邊在使用的時候能夠準確的了解到當前的數據集合的情況。這里我了解到有兩種添加行號的方法,均能正常顯示,有需要的可以參考一下。第一種:當你設置完成數據源后進行如下的處理:
for ( int i = 0; i < dataGridView2.Rows.Count; i++) //行號     {           int j = i + 1;           dataGridView2.Rows[i].HeaderCell.Value = j.ToString();      }

通過上面的處理就可以簡單的將行號添加了。簡單的看來就是循環的給每一行添加,思路比較簡潔。

第二種:  這種方式是使用DataGridview自帶的事件進行處理,這個事件就是RowPostPaint,我們可以在該事件中添加相應的處理方法就可以添加行號了,相應的代碼為:
 1 PRivate void dataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e) 2         { 3             System.Drawing. Rectangle rectangle = new System.Drawing.Rectangle            (e.RowBounds.Location.X, 4                 e.RowBounds.Location.Y, 5                 dataGridView1.RowHeadersWidth - 4, 6                 e.RowBounds.Height); 7   8             TextRenderer.DrawText(e.Graphics,            (e.RowIndex + 1).ToString(), 9                 dataGridView1.RowHeadersDefaultCellStyle.Font,10                 rectangle,11                 dataGridView1.RowHeadersDefaultCellStyle.ForeColor,12                 TextFormatFlags.VerticalCenter | TextFormatFlags .Right);13         }

這種方式也可以正常顯示。

  上面兩種方式本人均通過實踐檢驗,均能正常顯示,其他的方式本人暫時沒有進行研究。

2、高亮顯示某一行

  在我們的實際項目中可能會有這樣的要求,當某條數據滿足某個條件的時候將這條數據的整行或者當前的單元格高亮顯示出來,因為原理都是一樣的,這里就記錄一下其中的一種情況。具體的實現是非常簡單的,如果看了上面添加行號的話,這里就可以很好的理解了,原理都是一樣的,這是處理的屬性不同而已,具體為:
1 for ( int i = 0; i < dataGridView2.Rows.Count; i++) //行號2       {3           if (dataGridView2.Rows[i].Cells["FLAG" ].Value.ToString() == "2") {4             this.dataGridView2.Rows[i].DefaultCellStyle.BackColor= Color.Red;5               }6       }

其實就是跟上面第一種的地方是一樣的,處理的屬性不一樣就是了。

3、添加復選框  有時候我們會被要求到,我們可以選擇數據集的一行或者多行,雖然我們可以通過ctrl鍵進行實現,但是在實際的工作當中,我們更加喜歡復選框這樣一種形式。而這個形式的實現只要我們添加一列用于選擇就可以了,我們在添加這一列的時候,選擇ColumnType為DataGridViewCheckBoxColumn即可,我們也可以根據需要選擇多種形式。4、犯的一些錯誤1、表頭與數據庫中不對應,顯示的數據沒有按規則顯示 我們在編輯字段的時候我們一般會編輯兩個屬性,一個是HeaderText,一個是DataPropertyName,前一個是用于顯示在界面上的,后一個是與設置的數據集中的字段是一致的。如果后面一個沒有進行設置就會出現不按預想的形式顯示的問題。順便有一個小的技巧,當我們不想顯示某一列的時候,我們可以設置屬性Visible為False即可。2、通過屬性字段來獲取單元格的數據出錯  假如我們要進行這樣的形式(dataGridView2.Rows[i].Cells["FLAG"].Value.ToString())進行獲取單元格的數據,我們單單設置DataPropertyName屬性是不夠的,我們還要設置Name屬性為FLAG(根據具體的字段進行相應的設置)。5、說明  在以后的使用當中,如果還有一些可以分享的東西,我也會繼續添加的。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宁津县| 得荣县| 溧水县| 大英县| 额尔古纳市| 合作市| 清远市| 涿州市| 阜宁县| 望谟县| 磴口县| 肇东市| 二连浩特市| 湘西| 大田县| 山东省| 寻乌县| 余庆县| 乌苏市| 东平县| 遂昌县| 衡南县| 陆河县| 灵丘县| 华容县| 桦南县| 宁陕县| 宜兴市| 宣城市| 广汉市| 安阳县| 新昌县| 龙州县| 汨罗市| 逊克县| 新丰县| 江都市| 长乐市| 缙云县| 南阳市| 钟祥市|