Winfrom项目中使用DataGridView自动绑定的数据源
在控件底部添加的新行如何保存到数据库?

解决方案 »

  1.   

    设置一下DataGridView中的属性 好像就可以了!
      

  2.   

    //单元格结束编辑状态时,更新时间并保存数据
            private void dgvInfo_CellEndEdit(object sender, DataGridViewCellEventArgs e)
            {
                OleDbCommandBuilder odb = new OleDbCommandBuilder(oda);
                oda.Update(ds.Tables["Info"]);
            }
      

  3.   

    请问你是用sqlDataAdpater还是用的sqlDataReader为DataGridView赋值的?如果是用sqlDataAdpater的话,你在初始化sqlDataAdpater对象的时候加上如下一条语句:
     SqlDataAdapter MyAdapter = new SqlDataAdapter("SELECT........",Conn);
      SqlCommandBuilder MyBuilder = new SqlCommandBuilder(MyAdapter);//这里就是初始化写回数据库的语句,然后当你修改了DataGridView之后,想提交的时候,在提交事件里加入:
      private void simpleButton1_Click(object sender, EventArgs e)
            {
                DialogResult Result_Info;            try
                {
                    if (this.dataSet1.HasChanges())
                    {
                        Result_Info = MessageBox.Show("是否确定修改?", "内容修改", MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk);
                        if (Result_Info == DialogResult.OK)
                        {
                            //this.dataSet1.AcceptChanges();//加上这句话就不能进行数据库的写回了,已经接受,在这之后它就判断式没有修改了。
                            NewAdapter.Update(dataSet1,"table1");//写回数据库。与前面的SqlCommandBuilder 相对应。
                            
                            this.gridControl2.DataSource = this.dataSet1;
                            this.gridControl2.DataMember = "table1";
                        }
                        else
                        {
                            //do nothing!
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }        }
    其中Click事件中,其他都是辅助的,你这里主要是要用一句NewAdapter.Update(dataSet1,"table1");调用的是NewAdapter自动生成的Update方法
    OK,看我这么累,你还是给点分吧
      

  4.   

    以前做过这个功能,就在添加前把和DataGridView中相同的数据删掉
      

  5.   

    ..........已解决,此贴散分了问题处在同事覆盖了数据源绑定
    保存使用dataGridView1.EndEdit();
    dataGridView1.CurrentCell = null;
    tUserInfoTableAdapter.Update(vMSDBDataSet3.tUserInfo);三句就可以。
    添加新记录和修改都一样。