我有以下代码将先前的值输入到 DataGridView 单元格中。如果在第 0 行和第 2 列或更大,则左侧的 val,否则正上方的值:
private void dataGridViewPlatypi_CellEnter(object sender, DataGridViewCellEventArgs args)
{
// TODO: Fails if it sees nothing in the previous cell
string prevVal = string.Empty;
if (args.RowIndex > 0)
{
prevVal = dataGridViewPlatypi.Rows[args.RowIndex - 1].Cells[args.ColumnIndex].Value.ToString();
} else if (args.ColumnIndex > 1)
{
prevVal = dataGridViewPlatypi.Rows[args.RowIndex].Cells[args.ColumnIndex-1].Value.ToString();
}
dataGridViewPlatypi.Rows[args.RowIndex].Cells[args.ColumnIndex].Value = prevVal;
}
只要有值得被看到和复制的价值,这就很好用。但是,如果单元格为空白,我会得到:
System.NullReferenceException 未被用户代码处理
Message=Object 引用未设置为对象的实例。
我猜这是一个使用空合并运算符的机会,但是(假设我的猜测很好),我该如何实现呢?