Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# DataGridView.DataError.ReadOnlyException_C#_.net_Visual Studio_Winforms_Datagridview - Fatal编程技术网

C# DataGridView.DataError.ReadOnlyException

C# DataGridView.DataError.ReadOnlyException,c#,.net,visual-studio,winforms,datagridview,C#,.net,Visual Studio,Winforms,Datagridview,当我想对datagridview的数据应用更改时,会出现此错误。有趣的是,错误只会在午夜(00:00)之后发生,然后才会生效 if(dgvDatabaseData.CurrentCell.ColumnIndex==11){ 如果(dgvDatabaseData.CurrentCell.Value==null|| dgvDatabaseData.CurrentCell.Value==DBNull.Value|| String.IsNullOrWhiteSpace(dgvDatabaseData.C

当我想对datagridview的数据应用更改时,会出现此错误。有趣的是,错误只会在午夜(00:00)之后发生,然后才会生效

if(dgvDatabaseData.CurrentCell.ColumnIndex==11){
如果(dgvDatabaseData.CurrentCell.Value==null||
dgvDatabaseData.CurrentCell.Value==DBNull.Value||
String.IsNullOrWhiteSpace(dgvDatabaseData.CurrentCell.Value.ToString())
{
dgvDatabaseData.CurrentCell.Value=“启动”/(此处发生错误)
dgvDatabaseData.CurrentRow.Cells[10]。Value=“保留”/(此处发生错误)
}
否则{
dgvDatabaseData.CurrentCell.Value+=“+启动”;
}
dgvDatabaseData.NotifyCurrentCellDirty(true);
}


DGV的ReadOnly设置为false

我有点奇怪,为什么您会认为代码会因为午夜之后而停止工作?小精灵午夜后编码?:-)我可以向你保证时间不是问题

从错误中可以看出,
数据源
(我假设它是一个
数据表)的第11列设置为只读。当设置为
true
时,
DataTables
列只读属性将覆盖网格只读属性。因此,如果网格
数据源
是一个
数据表
,则在尝试设置单元格值之前,只需将columns read only属性设置为
false

如果网格
DataTable
是全局的,那么只需

myDataTable.Columns[11].ReadOnly = false;
如果网格
数据源
不是全局的,但它是一个
数据表
,那么

DataTable dt = (DataTable)dataGridView1.DataSource;
dt.Columns[11].ReadOnly = false;
最后,我假设这个列在别处被设置为只读,或者它来自数据库,是只读的。目前尚不清楚该列是否应为只读。如果要将其设置为只读,则可能需要在代码设置完单元格值后,将columns read only属性恢复为
true