回到过去(即上个月),我会将我的 winforms 网格绑定到数据集,然后关闭并运行。默认情况下,可以更新网格内容。(类似于 Excel 电子表格)
但是,如果我将网格绑定到 Linq 数据源(Linq to SQL 或 Linq to Entities),我的 winforms 网格将被锁定为只读模式。如何启用更新模式?
回到过去(即上个月),我会将我的 winforms 网格绑定到数据集,然后关闭并运行。默认情况下,可以更新网格内容。(类似于 Excel 电子表格)
但是,如果我将网格绑定到 Linq 数据源(Linq to SQL 或 Linq to Entities),我的 winforms 网格将被锁定为只读模式。如何启用更新模式?
您是否在投影中使用匿名类型?IE
select new {Foo = order.Foo, Bar = custmoer.Bar};
(或类似的) - C# 中的匿名类型是不可变的,所以是的:它看起来是只读的。但是,常规类(LINQ 生成的或您自己的)应该是可编辑的。唯一要记住的是调用.ToList()
任何查询(而不是给它IEnumerable<T>
/IQueryable<T>
对象)。
查看GetNewBindingList
“更好”绑定的各种类的方法。
完成后记得打电话SubmitChanges
。
找到解决方案:使用 lambda 表达式过滤实体并直接绑定到实体。