我们先来看下效果实现的前后对比。
实现前的效果
实现后的效果
|---------------------------------------------------------------------------------------------------------------|
说明一下:Switch 中的数据(True/False)表示开关,是直接从数据库中获取的(字符类型)。在数据集显示到DataGridView 控件后是这个样子的:

我需要数据集显示到DataGridView 控件后的效果的这个样子的:

没错,就是在Switch栏中用CheckBox 复选框代替文本。
代码如下:
var ItemsData = QueryItemsData(); // QueryItemsData为查询方法,将查询返回的数据交给ItemsData
dataGridView.DataSource = new BindingList<Class.LoadTestItemsClass.ItemsInfo>(ItemsData);// dataGridView 控件绑定数据源ItemsData
for (int i = 0; i < dataGridView.Rows.Count; i++)
{
if (dataGridView.Rows[i].Cells["Switch"].Value.ToString() == "True")
{
dataGridView["Switch", i] = new DataGridViewCheckBoxCell(); // 重点在这里
dataGridView["Switch", i].Value = true.ToString(); // 重点在这里
}
else
{
dataGridView["Switch", i] = new DataGridViewCheckBoxCell(); // 重点在这里
dataGridView["Switch", i].Value = false.ToString(); // 重点在这里
}
}
注释掉 for 循环就还原到了没有CheckBox复选框的状态。
我这样做的最终目的是想直接通过CheckBox 的勾选就可以直接修改这个开关的状态,而不需要通过打字来修改 True/False ,这个功能后面再单独开一遍。
本文介绍了一种在DataGridView控件中使用CheckBox替代文本显示开关状态的方法,并提供了具体的代码实现。通过这种方式,可以更直观地展示数据并方便用户进行交互。
3065

被折叠的 条评论
为什么被折叠?



