Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.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# Can';在通过linq绑定到XML文件后,请不要编辑我的datagridview_C#_Xml_Linq_Datagridview - Fatal编程技术网

C# Can';在通过linq绑定到XML文件后,请不要编辑我的datagridview

C# Can';在通过linq绑定到XML文件后,请不要编辑我的datagridview,c#,xml,linq,datagridview,C#,Xml,Linq,Datagridview,链接到这里的两个类似的例子,我不能真正链接到我的确切情况。 下面是填充我的datagridview的代码 XElement xdoc = XElement.Load(@"C:\xmltest\test.xml"); var lines = from item in xdoc.Descendants("line") let fields = item.Elements("field")

链接到这里的两个类似的例子,我不能真正链接到我的确切情况。

下面是填充我的datagridview的代码

XElement xdoc = XElement.Load(@"C:\xmltest\test.xml");

            var lines = from item in xdoc.Descendants("line")
                        let fields = item.Elements("field")
                        select new
                        {
                            Name = (string)fields
                                .FirstOrDefault(n => (string)n.Attribute("name") == "Name"),
                            Description = (string)fields
                                .FirstOrDefault(n => (string)n.Attribute("name") == "Description"),
                            ExtraDetails = (string)fields
                                .FirstOrDefault(n => (string)n.Attribute("name") == "ExtraDetails"),

                        };


            dataGridView1.DataSource = lines.ToArray();

这很好,但我无法在“导入”后编辑datagridview。我已经挑战性地设置了datagridview设置以允许编辑等。问题似乎与数据绑定在某种程度上有关。

问题在于您正在将结果投影到。文档链接中的第一行表示

匿名类型提供了一种方便的方法,可以将一组只读属性封装到单个对象中,而无需先明确定义类型

希望您注意到只读单词


如果要获取可编辑的数据,请使用读/写属性创建自己的类,并将查询结果投影到其中。

检查datagridview1.readonly是否为true;这可能会导致问题,并不是因为我提到我检查了所有的数据网格视图设置。谢谢