使用布尔逻辑操作datagridview数据(在C#中)

时间:2013-12-11 17:33:08

标签: c# datagridview boolean boolean-logic

我有一个数据绑定数据网格视图。单击时,第二个数据绑定数据网格视图加载并且第二个数据网格视图的列中的数字被乘以60.问题是当我点击第一个数据网格视图第二个,第三个等时间时,每次都会将数字乘以60。我不希望这种情况发生。我试过这个:

private Boolean _alreadyBeenMultiplied;

public Boolean AlreadyBeenMultiplied
{
     get { return _alreadyBeenMultiplied; }
     set
     {
          _alreadyBeenMultiplied = false;
     }

}

private void dgv_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
  double hrsToMins=(double.Parse(dgv.Rows[e.RowIndex].Cells["Hours"].Value.ToString())*60);

  if(_alreadyBeenMultiplied == false)
  {
      if (dgv.Columns[e.ColumnIndex].Name == "Hours")
      {
          if (dgv.Rows[e.RowIndex].Cells["Hours"].Value.ToString() != "0")
          {
             e.Value = Double.Parse(e.Value.ToString()) * 60;
             e.Value = (double.Parse(e.Value.ToString()));
              _alreadyBeenMultiplied = true;
          }
      }
  }

}

当我第二次点击第一个dgv时,数字全部除以60,返回原始值。此外,此代码中涉及的其他列(为简单起见,我仅在此处显示“小时”列)根本不受影响,即使在初始点击时也是如此。如果有人可以提供帮助,我会非常感激。我几乎肯定这是一个逻辑问题。

0 个答案:

没有答案