c# winform datagridview界面上的行删了,但datagridview数据源没有同步如何解决

2025-03-04 09:28:04
推荐回答(4个)
回答1:

这样一定会报错的,因为datagridview在绑定了数据源之后是不允许再直接对行或列进行删除、新增的操作,它会认为你在非法修改数据源。(一般这样的操作只适用于逐条去赋值的datagridview)
所以这里想要实现你想要的结果,只有去修改数据源,即(DataTable)datagridview1.DataSource,然后再重新绑定DataSource,即datagridview1.DataSource=((DataTable)datagridview1.DataSource).Rows.RemoveAt(rowNo);

回答2:

datagridview1.Rows.RemoveAt(rowNo);只是删除datagridview的一行,你没有写对应的删除绑定源的代码,当然两者不会同步。

回答3:

datagridview1只是用来显示数据,你在这上面进行增删改等操作不会影响数据源DataTable,除非你在对datagridview1增加时增加代码,对数据源DataTable也增删改

回答4:

有什么需求使你认为必须删界面而不是数据源?