如何使用数据库中的数据更新新记录的字段?
How to update fields of a new record with data from a database?
我用:
- MS SQL Server 2014 数据库;
- Entity Framework。
我正在使用带有 "empty row" 元素的 GridControl。
用户正尝试在 GridControl 中添加新条目。
添加新记录后不更新字段,这是数据库形成的。
在我的例子中,这个字段是 "ID".
也可以是数据库形成的其他字段。
"ID" 字段仅在编辑新记录后更新。
问题。
在GridControl中添加新条目后,如何使填充数据库的字段在GridControl中更新?
namespace Rsh.frm.frm3.Core.ModelEFFrm_3
{
using System;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
public partial class PrbEntitiesF3 : DbContext
{
public PrbEntitiesF3()
: base("name=PrbEntitiesF3")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
public virtual DbSet<tbl_930_3_2_Test> tbl_930_3_2_Test { get; set; }
}
}
namespace Rsh.frm.frm3.Core.ModelEFFrm_3
{
using System;
using System.Collections.Generic;
public partial class tbl_930_3_2_Test
{
public int Id { get; set; }
public string Text { get; set; }
}
}
public partial class Frm3UC : UserControl
{
PrbEntitiesF3 entiF3;
public Frm3UC()
{
InitializeComponent();
entiF3 = new PrbEntitiesF3();
}
public void FillGrid3()
{
entiF3.tbl_930_3_2_Test.Load();
bs3.DataSource = entiF3.tbl_930_3_2_Test.Local.ToBindingList();
gridControl3.DataSource = bs3;
}
public void Save()
{
entiF3.SaveChanges();
}
}
Update_1
我想让逻辑起作用:
1. 用户填写字段。
- 用户。单击 "Enter"。
代码(或标准工具"devexpress")向网格添加了一个新条目。
代码(或标准工具"devexpress")将一个条目保存到数据库中。
- 代码(或标准工具"devexpress")填写数据库创建的字段。
在我的例子中,这是 "ID" 字段。
我想说"ID"字段的值是在数据库中创建的
该值需要显示在用户添加的新记录的网格中。
解决方法是处理GridView_FocusedRowChanged事件。
请观看以下截屏视频:
我用:
- MS SQL Server 2014 数据库;
- Entity Framework。
我正在使用带有 "empty row" 元素的 GridControl。
用户正尝试在 GridControl 中添加新条目。
添加新记录后不更新字段,这是数据库形成的。
在我的例子中,这个字段是 "ID".
也可以是数据库形成的其他字段。
"ID" 字段仅在编辑新记录后更新。
问题。
在GridControl中添加新条目后,如何使填充数据库的字段在GridControl中更新?
namespace Rsh.frm.frm3.Core.ModelEFFrm_3
{
using System;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
public partial class PrbEntitiesF3 : DbContext
{
public PrbEntitiesF3()
: base("name=PrbEntitiesF3")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
public virtual DbSet<tbl_930_3_2_Test> tbl_930_3_2_Test { get; set; }
}
}
namespace Rsh.frm.frm3.Core.ModelEFFrm_3
{
using System;
using System.Collections.Generic;
public partial class tbl_930_3_2_Test
{
public int Id { get; set; }
public string Text { get; set; }
}
}
public partial class Frm3UC : UserControl
{
PrbEntitiesF3 entiF3;
public Frm3UC()
{
InitializeComponent();
entiF3 = new PrbEntitiesF3();
}
public void FillGrid3()
{
entiF3.tbl_930_3_2_Test.Load();
bs3.DataSource = entiF3.tbl_930_3_2_Test.Local.ToBindingList();
gridControl3.DataSource = bs3;
}
public void Save()
{
entiF3.SaveChanges();
}
}
Update_1
我想让逻辑起作用:
1. 用户填写字段。
- 用户。单击 "Enter"。
代码(或标准工具"devexpress")向网格添加了一个新条目。
代码(或标准工具"devexpress")将一个条目保存到数据库中。
- 代码(或标准工具"devexpress")填写数据库创建的字段。
在我的例子中,这是 "ID" 字段。
我想说"ID"字段的值是在数据库中创建的
该值需要显示在用户添加的新记录的网格中。
解决方法是处理GridView_FocusedRowChanged事件。
请观看以下截屏视频: