gpt4 book ai didi

C# Datagridview 复选框值

转载 作者:太空宇宙 更新时间:2023-11-03 13:57:51 25 4
gpt4 key购买 nike

我想从 datagridview(True/False) 中获取一个复选框值,但我总是得到一个值“null”,这是我获取复选框值的代码:

DataGridViewCheckBoxCell boolean = (DataGridViewCheckBoxCell)dgv[e.ColumnIndex, e.RowIndex];
string checkCheckboxChecked = ((bool)boolean.FormattedValue) ? "False" : "True";

此代码在 Boolean.FormattedValue 中返回一个 false,即使复选框被选中我还尝试了另一个:

object value = dgvVisual[e.ColumnIndex, e.RowIndex].Value;

这段代码返回一个空值

为什么会这样?

附言eCELL CONTENT CLICK 的事件。

这里是datagridview cell content click的完整代码:

private void dgvVisual_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
int Number1= int.Parse(dgvVisual[0, e.RowIndex].Value.ToString());
int Number2 = (e.ColumnIndex - 1);
DataGridViewCheckBoxCell boolean = (DataGridViewCheckBoxCell)dgvVisual[e.ColumnIndex, e.RowIndex];
bool checkCheckboxChecked = (null != boolean && null != boolean.Value && true == (bool)boolean.Value);
//string checkCheckboxChecked = "";
if (checkCheckboxChecked)
{
//do something if the checkbox is checked
}
else
{
//do something if the checkbox isn't
}
}

已解决:我更改了 CELL END EDIT EVENT 并将点击内容添加到 datagridview.CurrentCell 到另一个单元格。

最佳答案

将单元格称为 bool 值有点奇怪。然后使用其 FormattedValue 属性。我在表单中添加了一个 DataGridView,添加了两列 TextCheckboxCheckBox 是一个 DataGridViewCheckBoxColumn。然后我添加了一个按钮,这应该会给你一个想法:

private void button1_Click(object sender, EventArgs e)
{
dgv.AutoGenerateColumns = false;
DataTable dt = new DataTable();
dt.Columns.Add("Text");
dt.Columns.Add("CheckBox");
for (int i = 0; i < 3; i++)
{
DataRow dr = dt.NewRow();
dr[0] = i.ToString();
dt.Rows.Add(dr);
}
dgv.DataSource = dt;
}

private void dgv_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
foreach (DataGridViewRow row in dgv.Rows)
{
var oCell = row.Cells[1] as DataGridViewCheckBoxCell;
bool bChecked = (null != oCell && null != oCell.Value && true == (bool)oCell.Value);
}
}

关于C# Datagridview 复选框值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11588898/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com