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()