如何使用数据库中的数据更新新记录的字段?

时间:2019-02-09 18:50:50

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

我使用:
-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();
}

}

enter image description here

更新_1
我想让逻辑起作用:
1.用户填写该字段。
enter image description here

  1. 用户。点击“输入”。
  2. 代码(或标准工具“ devexpress”)向网格添加了一个新条目。
    enter image description here

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

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

enter image description here

1 个答案:

答案 0 :(得分:2)

解决方案是处理GridView_FocusedRowChanged事件。

请参阅以下截屏视频:

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