CannotEditDataGridViewFilledwithLINQQueryResults当我使用linq-to-xml查询的结果填充datagridview时,我无法编辑datagridview.我试过将datagridview的只读属性设置为false,但没有用。我还为cellBeginEdit添加了一个事件处理程序并在那里放置了一个断点,但它没有被击中。知道我做错了什么,还是这不可能?公共类MergeEntry{公共字符串作者{得到;放;}公共字符串消息{得到;放;}}...varquery=fromentryinxmlDoc.Descendants("entry")选择新的MergeEntry{author=entry.Element("author").Value,message=entry.Element("msg").Value,}varqueryAsList=query.ToList();myBindingSource.DataSource=queryAsList;myDataGridView.DataSource=myBindingSource;由Linq-To-Xml创建的列表。我试图重现你的问题。我做了以下操作:创建了一个空的WindForm项目(VS2008和.Net3.5)向表单添加了一个DataGridView。CellBeginEdit和CellEndEdit相连。将以下代码放在Form的构造函数中stringtestXML=@"TestAuthor1TestMsg1";XElementxmlDoc=XElement.Parse(testXML);varquery=fromentryinxmlDoc.Descendants("entry")选择新的MergeEntry{author=entry.Element("author").Value,message=entry.Element("msg").Value,};//你错过了“;”在你的帖子中,我假设那是一个错字。//我首先绑定到一个列表,效果很好。然后我将其更改为使用BindingList//以支持双向绑定。varqueryAsList=newBindingList(query.ToList());bindingSource1.DataSource=queryAsList;dataGridView1.DataSource=bindingSource1;当运行WinForm应用程序时,显示一个可编辑的网格,CellBeginEdit和CellEndEdit事件应该触发。希望尝试使用上述步骤重现将帮助您找到您面临的问题。由于您使用的是ToList,因此您的数据源实际上是一个列表,因此它来自Linq查询这一事实不会改变任何内容。我怀疑列(而不是DGV)的ReadOnly属性设置为true...我没有看到任何其他原因无法编辑网格有用,需要了解更多有关C#的学习教程,希望大家会多多关注吧—本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
