通过双击datagridview的某行弹出一个newform,从而对datagridview的该行数据进行修改,可在newform电击保存后,怎么样可以让datagridview同时自动更新数据呢?

解决方案 »

  1.   

    你可以在newform 保存事件中引用原form中的修改事件,就可以实现。
      

  2.   

    单击一行信息的时候   首先  要调用 一个单击时间  点击DataGridView引发事件!
    事件里面写:
      假如 public static string i = "";   //这个全局变量在   要new出的新窗口  类里  调用 你要点击一行  对应的主键! 然后 把这个全局变量得到数据库的 主键  在查询 到  你要修改信息的 窗口!  用DataReader读出来!!
      在 重新指定 Command  更新 语句 保存起来!!
      

  3.   


    能不能说得具体点?newform 保存事件要怎么才能作用原form中的修改事件?
      

  4.   


    public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }        private void Form1_Load(object sender, EventArgs e)
            {
                for (int i = 0; i < 3; i++)
                {
                    DataGridViewRow row = dataGridView1.Rows[dataGridView1.Rows.Add()];
                    row.Cells[0].Value = 1;
                    row.Cells[1].Value = 2;
                }        }        private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
            {
                e.Node.Toggle();
            }        private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
            {
                if (e.RowIndex == -1)
                    return;            Form2 f = new Form2();
                if (f.ShowDialog(this) == DialogResult.OK)
                {
                    dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = f.Value;
                }
            }
    窗体2事件 C# code
    public partial class Form2 : Form
        {
            private string value = "";
            public Form2()
            {
                InitializeComponent();
            }        public string Value
            {
                get { return value; }
            }        private void button1_Click(object sender, EventArgs e)
            {
                value = textBox1.Text;
                this.DialogResult = DialogResult.OK;
            }
        }
      

  5.   

    "怎么样可以让datagridview同时自动更新数据呢?"
    --------------
    你先把datagridview控件传到newform那边去,保存完了之后再保定传过来的那个datagridview比如说传到newform中的datagridview Dgv;Dgv.DataSource = ds.Tables[0].DefaultView;//这里是填充Dgv,ds就是dataset这样最原始的那个datagridview也就更新了
      

  6.   

    public void refreshDgv ()
    {
      dgv.Datasource="重新拿一次数据";
    }private void Dgv_DoubleClick(,,)
    {
       newform f=new newform (this);
       f.show();
    }//--------------就象查询窗体一样,点查找某文字后,下面就有显示了 在newform 的BUTTON事件中
    {
      先保存数据;
      Form1 .refreshDgv ();
    }