Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.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';s Rows.Clear()多次引发异常_C#_.net_Windows_Winforms_Datagridview - Fatal编程技术网

C# 调用DataGridView';s Rows.Clear()多次引发异常

C# 调用DataGridView';s Rows.Clear()多次引发异常,c#,.net,windows,winforms,datagridview,C#,.net,Windows,Winforms,Datagridview,我有这个问题 我在C扩展System.Windows.Forms.DataGridView中实现了一个自定义类。 我需要以编程方式重新生成行列表,清除它并再次添加行(我不使用BindingSource/数据库或类似的数据库,也不需要这些数据库) 问题是:当我第一次调用我的方法时,release(),下一次我在this.Rows.Clear()行中得到一个异常()(很抱歉,我的系统是意大利语的): Eccezione non gestita di tipo System.Windows.Forms

我有这个问题

我在
C
扩展
System.Windows.Forms.DataGridView
中实现了一个自定义类。 我需要以编程方式重新生成
列表,清除它并再次添加行(我不使用
BindingSource
/数据库或类似的数据库,也不需要这些数据库)

问题是:当我第一次调用我的方法时,
release()
,下一次我在
this.Rows.Clear()
行中得到一个
异常(
(很抱歉,我的系统是意大利语的):

Eccezione non gestita di tipo System.Windows.Forms.dll中的“System.InvalidOperationException”

别有用心的信息:非信息操作。不可能的事,我将承诺改变你的生活

下面是我如何编写
CustomDataGridView
方法
reareat()

public void重排()
{
列表=报警。GetAllarms();
this.Rows.Clear();
如果(list.Count>0)
{
DateTime lastdate=列表[0]。日期;
添加(新的DataGridMarker(lastdate));
添加(新的DataGridMarker(lastdate));
foreach(列表中的报警)
{
如果(lastdate<报警数据)
{
lastdate=alarm.data;
添加(新的DataGridMarker(lastdate));
}
this.Rows.Add(新CustomDataGridViewRow(alarm.type,新对象[]){
alarm.superCode+“-”+alarm.code,
报警时间到字符串(@“hh \:mm”),
报警。说明,
警报。详情
}));
}
}
}
我无法理解我做错了什么。。。我已经将我的datagridview和所有的列、行和单元格设置为只读,我不明白为什么它要提交一些编辑

你能帮我修一下吗


非常感谢:3检查您的datagridview是否未处于编辑模式。在行之前添加以下行。clear帮了我的忙

datagridview1.EndEdit()

您能告诉我哪一行代码抛出了
invalidoOperationException
?对不起,我认为它是清楚的(已编辑)。我试图解释
this.Rows.Clear()
抛出异常(请参见标题),这种行为很奇怪:(您能在那一行设置调试器,第二次查看行是否为null吗?不,它不是null,我已经检查过了。
datagridview1.EndEdit()