dataGridViewCheckBoxColumn的TrueValue设置为0,但显示时默认还是不选中
using System;
using System.IO;
using System.Collections.Generic;
using System.Windows.Forms;
public class TriValueVirtualCheckBox:Form
{
DataGridView dataGridView1 = new DataGridView();
const int initialSize = 5;
Dictionary<int, int> store
= new Dictionary<int, int>();
public TriValueVirtualCheckBox() : base()
{
Text = this.GetType().Name;
store.Add(0, 0);
store.Add(1, 1);
store.Add(2, 1);
store.Add(3, 1);
store.Add(4, 0);
Controls.Add(dataGridView1);
dataGridView1.VirtualMode = true;
dataGridView1.AllowUserToDeleteRows = false;
dataGridView1.CellValueNeeded += new
DataGridViewCellValueEventHandler(dataGridView1_CellValueNeeded);
dataGridView1.CellValuePushed += new
DataGridViewCellValueEventHandler(dataGridView1_CellValuePushed);
dataGridView1.Columns.Add(CreateCheckBoxColumn());
dataGridView1.Rows.AddCopies(0, initialSize);
}
private DataGridViewCheckBoxColumn CreateCheckBoxColumn()
{
DataGridViewCheckBoxColumn dataGridViewCheckBoxColumn1
= new DataGridViewCheckBoxColumn();
dataGridViewCheckBoxColumn1.HeaderText = "Lights On";
dataGridViewCheckBoxColumn1.TrueValue =0;
dataGridViewCheckBoxColumn1.FalseValue = 1;
return dataGridViewCheckBoxColumn1;
}
#region "data store maintance"
private void dataGridView1_CellValueNeeded(object sender,
DataGridViewCellValueEventArgs e)
{
//e.Value = store[e.RowIndex];
}
private void dataGridView1_CellValuePushed(object sender,
DataGridViewCellValueEventArgs e)
{
}
#endregion
[STAThreadAttribute()]
public static void Main()
{
Application.Run(new TriValueVirtualCheckBox());
}
}
public enum LightStatus
{
Unknown,
TurnedOn,
TurnedOff
};