【问题标题】:How to update fields of a new record with data from a database?如何使用数据库中的数据更新新记录的字段?
【发布时间】:2019-07-03 16:59:03
【问题描述】:

我使用:
- MS SQL Server 2014 数据库;
- 实体框架。

我正在使用带有“空行”元素的 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. 用户填写。

  1. 用户。点击“进入”。
  2. 代码(或标准工具“devexpress”)将新条目添加到网格中。

  3. 代码(或标准工具“devexpress”)将条目保存到数据库中。

  4. 代码(或标准工具“devexpress”)填充数据库创建的字段。
    就我而言,这是“ID”字段。
    我想说的是“ID”字段的值是在数据库中创建的。
    对于用户添加的新记录,该值需要显示在 Grid 中。

【问题讨论】:

  • 您好,为了澄清您的问题,您想在切换到下一条记录后立即将数据保存到数据库中吗?
  • @jjthebig1 我更新了这个问题。请参阅“更新_1”。我回答你的问题了吗?
  • @jjthebig1 对不起。您对如何解决我的问题有什么建议吗?
  • 抱歉耽搁了。我有几个截止日期,我无法回应。我刚刚发布了一个答案,我希望这就是您想要的。

标签: winforms devexpress devexpress-windows-ui devexpress-gridcontrol


【解决方案1】:

解决方案是处理 GridView_FocusedRowChanged 事件。

请看以下截屏视频:

https://screencast-o-matic.com/watch/cqnZFt0Qeb

【讨论】:

  • 感谢您的回答。也许你有机会帮助解决这个问题。见链接 - link
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多