我們有存儲在SQLite數據庫中的數據。數據顯示在DevExpress.XtraGrid.GridControl中。要獲得相關數據,我們創建臨時表並填寫它。 數據上下文:刷新System.Data.Entity.DbContext中的數據
public class AccountsSQLiteDataContext : DbContext
{
public AccountsSQLiteDataContext(IDbConnection connection)
: base((SQLiteConnection)connection, false)
{
Database.SetInitializer<AccountsSQLiteDataContext>(null);
}
public DbSet<tmp_acc> TmpAccounts { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
}
工作,的DbContext:
AccountsSQLiteDataContext myContext = new AccountsSQLiteDataContext(myDbConnection);
public IQueryable AccountTable
{
get
{
return myContext.TmpAccounts;
}
}
DevExpress.Data.Linq.LinqServerModeSource myLinqSource = = new DevExpress.Data.Linq.LinqServerModeSource();
myLinqSource.QueryableSource = AccountTable;
myGridControl.DataSource = myLinqSource;
和數據變化後,我打電話:myLinqSource.Reload();
而不是在SQLite的臨時表中的數據的所有更改網格顯示。添加和刪除表格行會生效。但單元格文本中的更改未顯示。 過濾器函數會以新值生效。見printscreen。在過濾器選項中是正確的值,在網格中是舊值。
如何刷新存儲在DbContext中的本地數據,以便在臨時表中更改後顯示正確的值?
您是否使用WinForms DataGridView? –
我們使用DevExpress UI框架及其DevExpress.XtraGrid.GridControl和DevExpress.XtraGrid.Views.Grid.GridView。 –