求解:dataGridView 当编辑单元格,光标离开时修改到数据源

时间:2021-06-27 19:27:57

private void dataGridView1_CellLeave(object sender, DataGridViewCellEventArgs e)
        {
            SqlCommandBuilder scb = new SqlCommandBuilder(sda);
            sda.AcceptChangesDuringUpdate = true;
            //sda.UpdateCommand = scb.GetUpdateCommand();
            sda.Update(ds, "curSchedule");
        }

上面这个代码有问题,没办法更新到数据源,请指点。另外,读表已经成功,设置成编辑状态了。

4 个解决方案

#1


好像有个DataGridView.CellMouseLeave 事件

#2



DataSet da = new DataSet();
        SqlDataAdapter sda1 = new SqlDataAdapter();
        private void mycourse()
        {
            set_ConnectionState();
            sda1 = new SqlDataAdapter("select week,morningClass1to2 as '上午1-2',morningClass3to4 as '上午3-4',afternoonClass5to6 as '下午5-6',afternoonClass7to8 as '下午7-8',eveningClass9to11 as '晚上9-11' from curSchedule where ID='" + SOMClass.ID + "'", sqlCon);
            sda1.Fill(da, "curSchedule");
            dataGridView1.DataSource = da.Tables[0];
            dataGridView1.RowHeadersVisible = false;//设置行头不可见
            for (int i = 0; i < this.dataGridView1.Columns.Count; i++)
            {
                //设置行不排序
                this.dataGridView1.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable;
            }
        }

给全一点的以供参考。

有一个错误就是:对于不返回任何键列信息SelectCommand,的不支持的UpdateCommand动态SQL生成。

#3


引用 1 楼  的回复:
好像有个DataGridView.CellMouseLeave 事件

还是不行。

#4


该回复于2012-04-27 09:23:57被版主删除

#1


好像有个DataGridView.CellMouseLeave 事件

#2



DataSet da = new DataSet();
        SqlDataAdapter sda1 = new SqlDataAdapter();
        private void mycourse()
        {
            set_ConnectionState();
            sda1 = new SqlDataAdapter("select week,morningClass1to2 as '上午1-2',morningClass3to4 as '上午3-4',afternoonClass5to6 as '下午5-6',afternoonClass7to8 as '下午7-8',eveningClass9to11 as '晚上9-11' from curSchedule where ID='" + SOMClass.ID + "'", sqlCon);
            sda1.Fill(da, "curSchedule");
            dataGridView1.DataSource = da.Tables[0];
            dataGridView1.RowHeadersVisible = false;//设置行头不可见
            for (int i = 0; i < this.dataGridView1.Columns.Count; i++)
            {
                //设置行不排序
                this.dataGridView1.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable;
            }
        }

给全一点的以供参考。

有一个错误就是:对于不返回任何键列信息SelectCommand,的不支持的UpdateCommand动态SQL生成。

#3


引用 1 楼  的回复:
好像有个DataGridView.CellMouseLeave 事件

还是不行。

#4


该回复于2012-04-27 09:23:57被版主删除