2014-04-04 145 views
0

我有一个datagridview列,当表单加载是一个十进制值时,该值显示为0.00。当我点击特定的单元格时,我想清除此列单元格的值,当我离开单元格时,值(0.00)应该出现在单元格中。为了更好的理解,我附上了快照。如何从单元格单击中的datagridview单元格中删除值?

enter image description here

我想这在特定的细胞点击。十进制值可能吗?如何将单元格设置为空?我在单元格单击上做了一些代码,但没有结果。

private void dgvForecast_CellClick(object sender, DataGridViewCellEventArgs e) 
     { 
      if (e.ColumnIndex == 3) 
      { 
       var cell = dgvForecast.Rows[e.RowIndex].Cells[e.ColumnIndex].Style as DataGridViewCellStyle; 
       decimal val = Convert.ToDecimal(dgvForecast.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString()); 
       cell.Format = ""; 
       dgvForecast.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = val.ToString("#"); 
       cell.ApplyStyle(cell); 
      } 
     } 

回答

1

删除单元格的值,你可以使用

if (e.ColumnIndex == 3) 
     { 
      dataGridVirtuals[e.ColumnIndex, e.RowIndex].Value = ""; 
     } 

用于把一个值成失去焦点,您可以使用CellLeave事件 如

if(e.ColumnIndex==3) 
{ 
dataGridView[e.ColumnIndex,e.RowIndex].Value=[yourvalue]; 

} 
+0

我已经使用的电池这仍然相同0.00仍然。 –

+0

尝试解析字段为DataGridViewTextBoxCell,因为我试图在我的机器上工作..您的单元格是正确的文本框? – gulshanm01

+0

是的我的单元格是textboxcell,但与数据源绑定的值是双数据类型。 –