datagridview 选中行 DataGridview刷新滞后是怎么回事

来源:互联网  时间:2016/6/17 16:03:33

关于网友提出的“datagridview 选中行 DataGridview刷新滞后是怎么回事”问题疑问,本网通过在网上对“datagridview 选中行 DataGridview刷新滞后是怎么回事”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题:datagridview 选中行 DataGridview刷新滞后是怎么回事
描述:

大致程序,主窗口Form1,含有DataGridView显示数据库已有记录,点击添加记录按钮弹出窗口Form2,Form1隐藏,用户在Form2里填写好相关信息,点提交,新记录插入到数据库里,此时关闭Form2,重新显示Form1,并对DataGridView进行刷新,使新加记录显示在DataGridView上。
其中 Form2
    public partial class Form2 : Form
    {
        public Form1 fm;
        string connectionString;
        OleDbConnection myOleDbConnection;
        OleDbCommand mycom;
        public Form2()
        {
            InitializeComponent();
            comboBox1.Items.Add("gb2312");
            comboBox1.Items.Add("GBK");
            comboBox1.Items.Add("utf-8");
            comboBox1.SelectedIndex = 0;
            connectionString = "provider=Microsoft.Jet.OLEDB.4.0;data source=1.mdb";
            myOleDbConnection = new OleDbConnection(connectionString);
        }
        private void Form2_FormClosing(object sender, FormClosingEventArgs e)
        {
            fm.Show();
        }
        private void button1_Click(object sender, EventArgs e)
        {
           mycom=new OleDbCommand("Insert into sites (sitename,siteurl,sitekey,sitecode) values ('"+textBox1.Text+"','"+textBox2.Text+"','"+comboBox1.SelectedItem.ToString()+"','"+textBox3.Text+"')",myOleDbConnection);
           myOleDbConnection.Open();
           mycom.ExecuteNonQuery();
           fm.RefreshGrid();
          this.Close();
        }
 fm.RefreshGrid();是Form1里负责刷新DataGridView的
 public void RefreshGrid()
        {
          
               String sqlstr = "select * from sites";
                ds = new DataSet();  //不写会保留原来记录再添加一遍,也不能写ds=null
                myadapter.Fill(ds, "Table1");
                dataGridView1.DataSource = null;
                dataGridView1.DataSource = ds.Tables["Table1"];
                // dataGridView1.Refresh();
                dataGridView1.Columns[0].Visible = false;
                dataGridView1.Columns[3].Visible = false;
                dataGridView1.Columns[5].Visible = false;  //得重新设定,不然会恢复所有行都可见
                dataGridView1.Columns[2].Width = 200;
        }
但每次都是Form2关闭Form1重新显示后,DataGridView没有刷新,但如果重新点击一次按钮添加,上一次记录会刷新到DataGridView,但当前次信息则没有显示。。
调试执行的办法我试过,反倒正确,正常刷新,非常诡异

上一篇xptable的进度条怎么绑定数据?
下一篇如何将dataGridView中的值插入到其他数据库中
明星图片
相关文章
《datagridview 选中行 DataGridview刷新滞后是怎么回事》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)