我有一个 devexpress GridControl,我正在为其设置数据源,如下所示:
var regs = (from vcap in context.chaps
select vcap);
gridControl1.DataSource = new BindingList<chaps>(regs.ToList());
但是当我使用网格时,我添加或删除的行不会被保存,只会保存对初始行的更改。
如果我这样做:
gridControl1.DataSource = context.chaps.Local;
我没有得到任何行,AddNewRow
甚至没有在视觉上添加新行。
如果我这样做:
gridControl1.DataSource = context.chaps.ToList();
我得到了行并可以保存对它们的更改;行在视觉上被删除但不在数据库中,并且不能AddNewRow
。
如果我这样做:
gridControl1.DataSource = context.chaps;
我得到这个例外:
Data binding directly to a store query (DbSet, DbQuery, DbSqlQuery) is not supported. Instead populate a DbSet with data, for example by calling Load on the DbSet, and then bind to local data. For WPF bind to DbSet.Local. For WinForms bind to DbSet.Local.ToBindingList().
但是 context.chaps.Local 也没有ToBindingList
方法。
我不认为这是 devexpress 的问题,而是我不知道如何正确设置数据源。有没有办法获得context.chaps.Local.ToBindingList()
等价物?