2016-04-27 5 views
0

Ich habe eine Windows Forms-Anwendung erstellt und eine DataGridViewCheckBoxColumn als erste Spalte des Gitters eingefügt, aber es ist mir nicht gelungen, den Standardwert auf "checked" zu setzen. Ich habe versucht, es in eine Schleife zu setzen, nachdem ich die Spalte und das DefaultValuesNeeded-Ereignis der Gridview eingefügt habe. Gibt es einen einfacheren Weg, oder gibt es etwas, das mir fehlt?WinForm-App: Kann keine Standardwerte für eine DataGridViewCheckBoxColumn festlegen

Mein Code ist wie folgt:

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; 
     } 

    } 

Antwort

0

ich in der Lage war, dies zu lösen Hinzufügen von Code Ladeereignis zu der Form, die durch die Kontrollkästchen Schleifen und setzt sie an diesem Punkt.

foreach (DataGridViewRow row in gvFarmers.Rows) 
{ 
    DataGridViewCheckBoxCell chk = DataGridViewCheckBoxCell)row.Cells["Select"]; 
    chk.Value = true; 
} 
Verwandte Themen