1. 程式人生 > >dataGridView空白列,預設選中行的背景色,dataGridView中加入複選框勾選狀態的更改

dataGridView空白列,預設選中行的背景色,dataGridView中加入複選框勾選狀態的更改

如題:

         1,dataGridView空白列就是指dataGridView每一行的頭上都會有一個行頭,不能繫結資料也不能進行什麼操作。不知道大家有沒有對此頭疼過,我以前都是忽略不管,到後來才發現dataGridView屬性面板中有一個設定行頭是否顯示的屬性RowHeadersVisible,將其值設定為false就可以了.

         2,dataGridView預設選中行的背景色是那種藍色的,看上去很難看不說了,並且dataGridView資料繫結後,預設第一行背景色為藍色,但第一行並未被選中,針對此情況我是這樣解決的,在行中加了一個DataGridViewCheckBoxColumn列,行的選中與否全靠DataGridViewCheckBoxColumn列是否勾選來定,這個下面將要說到,現在先說選中行背景色的問題,點選dataGridView的屬性RowDefaultCellStyle右邊的按鈕,開啟CellStyle生成器,將SelectionBackColor改為您要用的背景色就可以了.注意不要把SelectionBackColor和SelectionForeColor設定為同一值,呵呵,會產生顏色覆蓋的

        3,dataGridView中加入複選框的方法就是指定一列的ColumnType的值為DataGridViewCheckBoxColumn,只要您新增過列就不會陌生,但為了改變其勾選狀態,確費了我半天勁,現在問題解決了,回頭一看,怎能用一簡單二字來形容,

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {//點選一行的任意單元格的內容時發生
            if (dataGridView1.Columns[e.ColumnIndex].Name == "Column0")
            {
                DataGridViewCheckBoxCell dgcb = (DataGridViewCheckBoxCell)dataGridView1.Rows[e.RowIndex].Cells["Column0"];
                if ((bool)dgcb.FormattedValue)
                {
                    dgcb.Value = false;
                }
                else
                {
                    dgcb.Value = true;
                }
            }
        }

OK,本人剛轉入winform開發,以前是做網站的,我用的是VS2008,不當之處請幫忙更正