当前窗体dataGridView1中双击弹出新窗口修改数据
关闭后dataGridView1中的数据不会刷新
刷新的方法调用没反应DataGridView行业数据

解决方案 »

  1.   

    /// <summary>
            /// 修改
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
            {
                
                adddata updateForm = new adddata();            updateForm.btnupd.Enabled = true;
                updateForm.btnsave.Enabled = false;
                updateForm.btnsave.Visible = false;            updateForm.addgv.Enabled = false;
                updateForm.addgv.Visible = false;            updateForm.Text = "修改数据";
                updateForm.Show();
                updateForm.txtdm.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString();
                updateForm.txtdbht.Text = dataGridView1.CurrentRow.Cells[2].Value.ToString();
                updateForm.txtdbht.Enabled = false;
                updateForm.txtzqht.Text = dataGridView1.CurrentRow.Cells[3].Value.ToString();
                updateForm.txtjia.Text = dataGridView1.CurrentRow.Cells[4].Value.ToString();
                updateForm.txtyi.Text = dataGridView1.CurrentRow.Cells[5].Value.ToString();
                updateForm.txtbj.Text = dataGridView1.CurrentRow.Cells[6].Value.ToString();
                updateForm.txtyll.Text = dataGridView1.CurrentRow.Cells[7].Value.ToString();
                updateForm.txtlx.Text = dataGridView1.CurrentRow.Cells[8].Value.ToString();
                updateForm.txtqx.Text = dataGridView1.CurrentRow.Cells[9].Value.ToString();
                updateForm.comboBox1.Text = dataGridView1.CurrentRow.Cells[10].Value.ToString();
                updateForm.dtp_qs.Text = dataGridView1.CurrentRow.Cells[11].Value.ToString();
                updateForm.dtp_dq.Text = dataGridView1.CurrentRow.Cells[12].Value.ToString();
                updateForm.txtkh.Text = dataGridView1.CurrentRow.Cells[13].Value.ToString();
                updateForm.txtyh.Text = dataGridView1.CurrentRow.Cells[14].Value.ToString();
                updateForm.txtdh.Text = dataGridView1.CurrentRow.Cells[15].Value.ToString();
                updateForm.txtrz.Text = dataGridView1.CurrentRow.Cells[16].Value.ToString();
                updateForm.txtkhjl.Text = dataGridView1.CurrentRow.Cells[17].Value.ToString();
                if (dataGridView1.CurrentRow.Cells[18].Value.ToString() == "True")
                {
                    updateForm.rb1.Checked = true;
                }
                else
                    updateForm.rb2.Checked = true;
                if (dataGridView1.CurrentRow.Cells[19].Value.ToString() == "True")
                {
                    updateForm.rb3.Checked = true;
                }
                else
                    updateForm.rb4.Checked = true;
                updateForm.rtbbz.Text = dataGridView1.CurrentRow.Cells[20].Value.ToString();//备注
                updateForm.txtdqmc.Text = dataGridView1.CurrentRow.Cells[21].Value.ToString();//地区
                shuaxin = true;
            }
      

  2.   

    model.Code_number = txtdm.Text.Trim();
                    model.Db_number = txtdbht.Text.Trim();
                    model.Zq_number = txtzqht.Text.Trim();
                    model.First_party = txtjia.Text.Trim();
                    model.Second_party = txtyi.Text.Trim();
                    model.Capital = Convert.ToDecimal(txtbj.Text.Trim());
                    model.Interest_rate = Convert.ToDecimal(txtyll.Text.Trim());
                    model.Interest = Convert.ToDecimal(txtlx.Text.Trim());
                    model.Deadline = txtqx.Text.Trim();
                    model.Dxdate = Convert.ToInt32(comboBox1.Text.Trim());
                    model.Qsdate = Convert.ToDateTime(dtp_qs.Text.Trim());
                    model.Dqdate = Convert.ToDateTime(dtp_dq.Text.Trim());
                    model.Bank = txtkh.Text.Trim();
                    model.Card_number = txtyh.Text.Trim();
                    model.Telephone = txtdh.Text.Trim();
                    model.Accountbank = txtrz.Text.Trim();
                    model.Manager = txtkhjl.Text.Trim();                /////////////////////////////////////////
                    if (rb1.Checked)
                        model.Cd_state = Convert.ToBoolean(true);
                    if (rb2.Checked)
                        model.Cd_state = Convert.ToBoolean(false);
                    if (rb3.Checked)
                        model.Sh_state = Convert.ToBoolean(true);
                    if (rb4.Checked)
                        model.Sh_state = Convert.ToBoolean(false);
                    ////////////////////////////////////////                model.Res = rtbbz.Text.Trim();
                    model.Region_name = txtdqmc.Text.Trim();
                    DialogResult dr = MessageBox.Show("请确认无误", "提示?", MessageBoxButtons.OKCancel);
                    if (dr == DialogResult.OK)
                    {
                        bll.Update(model);
                        MessageBox.Show("数据修改成功!", "提示?");
                        string dm = model.Db_number;                    string strSelect = " Db_number='" + model.Db_number + "'";
                        if (test.shuaxin)
                        {
                            test tt = new Web.test();
                            tt.datagv(strSelect);
                            test.shuaxin = false;
                            this.Close();
                            return;
                        }
                        else
                        {
                            DataSet ds = new DataSet();
                            ds = bll.GetList(strSelect);
                            addgv.DataSource = ds.Tables[0];
                            addgv.Refresh();
                        }
                    }
                    else
                    {
                        return;
                    }
      

  3.   

    /// <summary>
            /// 绑定到dataGridView1
            /// </summary>
            public void datagv(string strWhere)
            {
                dataGridView1.DataSource = null;
                dataGridView1.Refresh();
                DataSet ds = new DataSet();
                ds = bll.GetList(strWhere);
                dataGridView1.DataSource = ds.Tables[0];            count = dataGridView1.RowCount - 1;
                label10.Text = "共查询出" + count.ToString() + "条记录";
                dataGridView1.Refresh();        }
      

  4.   

    你 想做的是点击某一行 弹出窗体编辑这一行   编辑完确定后  更新原窗体的datagrideview
         你没有调用刷新啊,你只是个新窗体赋值!
      

  5.   

     if (test.shuaxin)
                        {
                            test tt = new Web.test();
                            tt.datagv(strSelect);
                            test.shuaxin = false;
                            this.Close();
                            return;
                        }
    这个是调用刷新啊
      

  6.   


     if (test.shuaxin)
    {
         test tt = new Web.test();
         tt.datagv(strSelect);
         test.shuaxin = false;
         this.Close();
         return;
    }你这段的test是不是另外一个窗体
      

  7.   


    //在弹出窗体类增加一个事件
    public event EventHandler Update;//修改这里的代码
    if (test.shuaxin)
    {
       if(Update!=null)
          Update(this,new EventArgs());
       this.Close();
       return;
    }//显示datagridview的窗口修改以下代码//在这个事件里注册事件
    private void dataGridView1_CellDoubleClick
        adddata updateForm = new adddata();
        updateForm.Update+=UpdateInfo;//增加一个方法
    private void UpdateInfo(object sender,EventArgs e)
    {
       //在这里调用刷新
        datagv(strSelect);
        shuaxin = false; 
    }
      

  8.   


    //在弹出窗体类增加一个事件
    public delegate void UpdateEventHandler(object sender,CustomerInfoArgs e);
    public event UpdateEventHandler Update;
     
    //修改这里的代码
    if (test.shuaxin)
    {
       if(Update!=null)
          Update(this,new CustomerInfoArgs(strSelect));
       this.Close();
       return;
    }//自定义事件参数类
    public class CustomerInfoArgs:EventArgs
    {
        public string Sql{get;private set;}
        public CustomerInfoArgs(string sql)
        {
            this.Sql=sql;
        }
    }
     
    //显示datagridview的窗口修改以下代码
     
    //在这个事件里注册事件
    private void dataGridView1_CellDoubleClick
        adddata updateForm = new adddata();
        updateForm.Update+=UpdateInfo;
     
    //增加一个方法
    private void UpdateInfo(object sender,CustomerInfoArgs e)
    {
       //在这里调用刷新
        datagv(e.Sql);
        shuaxin = false; 
    }
    上面的忘记传参数了,这里修改了,具体细节你自己看看吧
      

  9.   

    修改数据后再绑定一遍数据就行了, BindData()