2016-04-27 40 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; 
} 
相关问题