现在的位置: 首页 > 综合 > 正文

winformDatagridviev dataGridViewCheckBoxColumn关于TrueValue的问题

2013年07月31日 ⁄ 综合 ⁄ 共 1518字 ⁄ 字号 评论关闭

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

抱歉!评论已关闭.