简体   繁体   English

Datagridview插入数据未显示

[英]Datagridview insert data not show

I just learn linq and trying to make insert update delete with linq and ado.net data entity model. 我只是学习linq并尝试使用linq和ado.net数据实体模型进行插入更新删除。 Now I'm have some problem, when I'm insert some data, the datagridview not show that, I must close the program and run it again to show the latest data that I'm entry. 现在我有一些问题,当我插入一些数据时,datagridview没有显示,我必须关闭程序并再次运行它以显示我正在输入的最新数据。 Here the code : 这里的代码:

namespace TesDB
{
    public partial class Form1 : Form
    {
        private Database1Entities de = new Database1Entities();
        int index;

    public Form1()
    {
        InitializeComponent();

        var query = from x in de.MsEmployees
                    select x;

        dataGridView1.DataSource = query;
        dataGridView1.Refresh();
    }

    private void Form1_Load(object sender, EventArgs e)
    {

    }

    public void loadtext()
    {
        textBox1.Text = dataGridView1.Rows[index].Cells[0].Value.ToString();
        textBox2.Text = dataGridView1.Rows[index].Cells[1].Value.ToString();
        textBox3.Text = dataGridView1.Rows[index].Cells[2].Value.ToString();
    }

    private void button2_Click(object sender, EventArgs e)
    {
        string EmployeeID = dataGridView1.Rows[index].Cells[0].Value.ToString();

        var employee = (from x in de.MsEmployees
                        where x.EmployeeID == EmployeeID
                        select x).First();
        employee.EmployeeID  = textBox1.Text;
        employee.EmployeeName = textBox2.Text;
        employee.Salary = int.Parse(textBox3.Text);
        de.SaveChanges();
        Refresh();

    }



    private void button3_Click(object sender, EventArgs e)
    {
        string EmployeeID = dataGridView1.Rows[index].Cells[0].Value.ToString();
       // int id1 = int.Parse(EmployeeID);

        var Employee = (from x in de.MsEmployees
                        where x.EmployeeID == EmployeeID
                        select x).First();
        de.MsEmployees.DeleteObject(Employee);
        de.SaveChanges();
        Refresh();

    }

    private void button1_Click(object sender, EventArgs e)
    {
        string employeeID = dataGridView1.Rows[index].Cells[0].Value.ToString();

        var employee = (from x in de.MsEmployees
                        where x.EmployeeID == employeeID
                        select x.EmployeeID).First();

        MsEmployee me = new MsEmployee();
        me.EmployeeID = textBox1.Text;
        me.EmployeeName = textBox2.Text;
        me.Salary = int.Parse(textBox3.Text);
        de.AddToMsEmployees(me);
        de.SaveChanges();
       this.Refresh();
    }

    private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
    {


        index = e.RowIndex;
        loadtext();

    }

}

} }

` `

I'm using refresh() that work for Update and Delete but it not work for insert does anyone know how to refresh that table when I'm done insert? 我正在使用适用于更新和删除的refresh() ,但它不适用于插入是否有人知道如何在插入时刷新该表?

make a method of refresh() and paste ur Query inside and call it behind the button 制作一个refresh()方法并将你的查询粘贴到里面并在按钮后面调用它

      public void refresh()
      {
           //Paste ur Query here and call it behind the button_click Event
      }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM