繁体   English   中英

如何更改特定的 datagridview 单元格值?

[英]how can i change specific datagridview cell value?

我有来自数据库的数据,但数据库记录上的一个属性是位(布尔值)。 例如

name, surname, date, itHave
A      B     2020    1//
C      D     2021    0

表单应用端,数据没问题。 我可以看到记录。 但我想将 1 和 0 更改为 Yes 或 No。

我试过数字(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();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM