2016-04-27 89 views
0

我創建了Windows窗體應用程序並插入了DataGridViewCheckBoxColumn作爲網格的第一列,但我一直未能將默認值設置爲「checked」。在插入列和GridView的DefaultValuesNeeded事件後,我試圖在循環中設置它。有沒有更簡單的方法來做到這一點,或者有什麼我失蹤?WinForm應用程序:無法設置DataGridViewCheckBoxColumn的默認值

我的代碼如下:

private void FillDataGrid() 
    { 
     BAFarmer baobj = new BAFarmer(); 
     gvFarmers.AutoGenerateColumns = true; 
     gvFarmers.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; 
     gvFarmers.DataSource = baobj.GetAllFarmersCol(); 
     gvFarmers.Enabled = true; 
     gvFarmers.ReadOnly = false; 

     DataGridViewCheckBoxColumn checkColumn = new DataGridViewCheckBoxColumn(); 
     checkColumn.Name = "Include"; 
     checkColumn.ValueType = typeof(Boolean); 
     checkColumn.HeaderText = "Include"; 
     checkColumn.Width = 50; 
     checkColumn.ReadOnly = false; 
     checkColumn.FillWeight = 10; //if the datagridview is resized (on form resize) the checkbox won't take up too much; value is relative to the other columns' fill values 
     checkColumn.ThreeState = false; 
     checkColumn.TrueValue = true; 
     checkColumn.FalseValue = false; 


     gvFarmers.Columns.Insert(0, checkColumn); 

     foreach (DataGridViewRow row in gvFarmers.Rows) 
     { 
      row.Cells[checkColumn.Name].Value = true; 
     } 

    } 

回答

0

我能夠通過添加代碼,通過複選框循環,並將其設置在該點的形式加載事件來解決這個問題。

foreach (DataGridViewRow row in gvFarmers.Rows) 
{ 
    DataGridViewCheckBoxCell chk = DataGridViewCheckBoxCell)row.Cells["Select"]; 
    chk.Value = true; 
} 
相關問題