GWL*_*osa 8 .net datagridview editing winforms
我有一个DataGridView,它没有设置为ReadOnly.它的所有列都没有设置为ReadOnly,并且它绑定的对象未设置为ReadOnly.但是,我无法编辑DataGridView项目?DataGridView的.DataSource属性设置为ReadOnlyCollection <>,但我可以通过编程方式更改元素,而不是来自UI.这是怎么回事?
GWL*_*osa 10
事实证明,如果您的DataGridView绑定到ReadOnlyCollection,那么即使您可以以编程方式编辑集合中的任何项目,DataGridView也会限制您更改值.我不确定这种行为是否是故意的,但需要注意.
我昨天刚刚安装了 VS 2013,最新版本(更新 5)并且仍然存在导致您描述的行为的错误。
简而言之,要解决该错误,首先要确保将 datagridview 设置为可通过 GUI 编辑。这尤其包括控件右上角的表单设计器中的小箭头。在箭头下拉菜单中有一个选项“启用编辑”,确保它已启用。现在在表单设计器中以某种主要方式编辑列(例如添加或删除列)。就是这样,当您运行程序时,您应该会发现 GUI 编辑现在正在工作。
要重现此错误,请在表单设计器中使用 datagridview 控件右上角的小箭头将“启用编辑”设置为 false。现在对列进行重大更改(例如添加或删除列)。编译并运行程序。现在回到小箭头并重新启用“启用编辑”复选框。再次运行程序。在这一点上,bug 自己显现出来,你会发现 datagridview 不是 GUI 可编辑的,即使你在 VS 中进行了其他配置。