C# 4.0 如何在单元格单击时从datagridview单元格中删除值?
我有一个datagridview列,当窗体加载时,它的值显示为0.00,这是一个十进制值。我想在单击特定单元格时清除此列单元格值,当我离开单元格时,该值(0.00)应出现在单元格中。为了更好地理解,我附上了一张快照 我想在特定的单元格点击这个。是否可以使用十进制值?如何将单元格设置为空?我已经做了一些代码的细胞点击,但没有结果C# 4.0 如何在单元格单击时从datagridview单元格中删除值?,c#-4.0,datagridview,C# 4.0,Datagridview,我有一个datagridview列,当窗体加载时,它的值显示为0.00,这是一个十进制值。我想在单击特定单元格时清除此列单元格值,当我离开单元格时,该值(0.00)应出现在单元格中。为了更好地理解,我附上了一张快照 我想在特定的单元格点击这个。是否可以使用十进制值?如何将单元格设置为空?我已经做了一些代码的细胞点击,但没有结果 private void dgvForecast_CellClick(object sender, DataGridViewCellEventArgs e)
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);
}
}
用于删除可以使用的单元格值
if (e.ColumnIndex == 3)
{
dataGridVirtuals[e.ColumnIndex, e.RowIndex].Value = "";
}
要将值放入失去焦点的单元格,可以使用CellLeave事件
乙二醇
尝试将该字段解析为DataGridViewTextBoxCell,因为我在我的机器上进行了尝试,并且正在运行。。您的单元格是textbox,对吗?是的,我的单元格是textboxcell,但与数据源绑定的值是double datatype。噢,如果它与某些数据源绑定,那么您不能直接更改该值。首先清除数据源,然后重新绑定它。假设您的数据源是List,然后创建一个新列表,作为List List=newlist();然后cell.datasource=list;
if(e.ColumnIndex==3)
{
dataGridView[e.ColumnIndex,e.RowIndex].Value=[yourvalue];
}