如何更改特定的 datagridview 单元格值?
how can i change specific datagridview cell value?
我有来自数据库的数据,但数据库记录的一个属性是位(布尔值)。
例如
name, surname, date, itHave
A B 2020 1//
C D 2021 0
表单应用端,数据正常。我可以看到记录。但我想将 1 和 0 更改为是或否。
我试过了
number(datagridview的个数)
for( i=0; i< number; i++){
if (dataGridView1.Rows[i].Cells[3].Value.ToString() =="1"){
MessageBox.Show("Test");
dataGridView1.Rows[i].Cells[3].Value = "Yes";
}
}
MessageBox.Show("测试"); // 这是 运行
但它并没有发生。
我该如何解决?
您的示例看起来不错并且有效。我在“It Have”列中创建了初始 DataGridView
和一些 0-1
值:
然后使用您的示例(通过添加一个三元编辑了一点):
for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
{
DataGridViewCell cell = dataGridView1.Rows[i].Cells[3];
cell.Value = cell.Value.ToString() == "1" ? "Yes" : "No";
}
并获得 Yes/No
而不是 1-0
:
请注意,您的 MessageBox.Show("Test");
会阻止代码执行,直到您关闭它。
用人类可读的文本制作你的数据库数据,你可以在 LINQ 中使用匿名类型:
var items = mydbitems.Select(x => new
{
Name = x.name,
Surname = x.surname,
Date = x.date,
itHave = x.itHave == 1 ? "yes" : "no"
};
datagridview.DataSource = items.ToList();
我有来自数据库的数据,但数据库记录的一个属性是位(布尔值)。 例如
name, surname, date, itHave
A B 2020 1//
C D 2021 0
表单应用端,数据正常。我可以看到记录。但我想将 1 和 0 更改为是或否。
我试过了 number(datagridview的个数)
for( i=0; i< number; i++){
if (dataGridView1.Rows[i].Cells[3].Value.ToString() =="1"){
MessageBox.Show("Test");
dataGridView1.Rows[i].Cells[3].Value = "Yes";
}
}
MessageBox.Show("测试"); // 这是 运行 但它并没有发生。
我该如何解决?
您的示例看起来不错并且有效。我在“It Have”列中创建了初始 DataGridView
和一些 0-1
值:
然后使用您的示例(通过添加一个三元编辑了一点):
for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
{
DataGridViewCell cell = dataGridView1.Rows[i].Cells[3];
cell.Value = cell.Value.ToString() == "1" ? "Yes" : "No";
}
并获得 Yes/No
而不是 1-0
:
请注意,您的 MessageBox.Show("Test");
会阻止代码执行,直到您关闭它。
用人类可读的文本制作你的数据库数据,你可以在 LINQ 中使用匿名类型:
var items = mydbitems.Select(x => new
{
Name = x.name,
Surname = x.surname,
Date = x.date,
itHave = x.itHave == 1 ? "yes" : "no"
};
datagridview.DataSource = items.ToList();