开发者论坛

 找回密码
 注册 (请使用非IE浏览器)
查看: 3094|回复: 1

[求助] datagridview的刷新问题

[复制链接]

0

精华

0

贡献

82

赞扬

帖子
28
软币
256
在线时间
16 小时
注册时间
2018-1-1
发表于 2018-1-18 18:08:14 | 显示全部楼层 |阅读模式
下面的这段代码,如果是更新过程,也就是update,datagridview可以自动刷新。但如果是insert或delete就不行。跟踪调试,数据库的内容是确实插入或删除(可以控制台输出),但datagridview就是不能自动更新,试着update(),refresh()等都不行。请高手指点。

[C#] 纯文本查看 复制代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp5
{
    public partial class Form1 : Form
    {
        DBTestDataContext dbtest = new DBTestDataContext();
        //BindingSource binddb = new BindingSource();
        public Form1()
        {
            InitializeComponent();
        }

        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            switch (comboBox1.SelectedItem.ToString())
            {
                case "select":
                    Databind();
                    break;
                case "insert":
                    LinqInsert();
                    break;
                case "update":
                    LinqUpdate();
                    break;
                case "delete":
                    LinqDelete();
                    break;
                default:
                    break;


            }
        }

        private void LinqDelete( )
        {
            Faculty fi = dbtest.Faculty.Where(f => f.faculty_id == "M56789").Single();

            dbtest.Faculty.DeleteOnSubmit(fi);
            dbtest.SubmitChanges();
            Databind();
        }

        private void LinqUpdate()
        {
            Faculty fi = dbtest.Faculty.Where(f => f.faculty_id == "M56789").First();
            fi.college = "qhdx";
            dbtest.SubmitChanges();
            Databind( );

        }

        private void LinqInsert()
        {
            Faculty newft = new Faculty();
            newft.faculty_id = "D19886";
            newft.faculty_name = "hcg";
            newft.title = "gly";
            newft.office = "33253";
            newft.phone = "13344553344";
            newft.college = "bjdx";
            newft.email = "hcg@163.com";
            dbtest.Faculty.InsertOnSubmit(newft);
            dbtest.SubmitChanges();
            Databind( );
           

        }

        private void Databind()
        {
        this.dataGridView1.DataSource =dbtest.Faculty;
            

           
        }
    }
}

回复

使用道具 举报

0

精华

0

贡献

0

赞扬

帖子
8
软币
113
在线时间
1 小时
注册时间
2016-9-26
发表于 2018-2-5 13:46:36 | 显示全部楼层
先设置成null,在赋值应该可用
回复

使用道具 举报

Archiver|手机版|小黑屋|开发者网 ( 苏ICP备08004430号-2 )
版权所有:南京韵文教育信息咨询有限公司

GMT+8, 2024-6-6 07:48

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表