0

我有一个链接到 DataTable 的 DataGridView。表格中的单元格设置为十进制。

在没有相关数据的情况下,我希望在“power”列(#2)中使用“No Data”文本而不是值。

为此,我执行以下操作:

foreach (DataGridViewRow row in resultsDataGrid.Rows)
  if ((int)row.Cells["DataYN"].Value == 1)
  {
    row.Cells["Power"].ValueType = typeof(String);  
    row.Cells["Power"].Value = "No Data";  
  }

编译时,我收到一条错误消息““无数据”不是十进制的有效值....'。

单元格值类型已明确设置并显示为字符串,但编译器认为它仍然是十进制。我尝试了各种铸造和转换,但无济于事。

  1. 这是编译器错误吗?
  2. 有解决方法吗?

萨塔尔

4

1 回答 1

0

与其实际尝试更改单元格的值,不如将“无数据”指定为单元格默认样式的 NullValue 属性(http://msdn.microsoft.com/en-us/library/system.windows.forms .datagridviewcellstyle.nullvalue.aspx)。这将消除循环数据的需要,并应防止网格尝试将值转换为小数。

于 2013-04-14T16:53:22.663 回答