在做SqlDataAdapter.Update(DataSet)之前
加下面几句试试
GridView.EndEdit();
GridView.CurrentCell = Null;
DataSet.AcceptChanges();
加下面几句试试
GridView.EndEdit();
GridView.CurrentCell = Null;
DataSet.AcceptChanges();
解决方案 »
- C#如何设置透明背景色?
- HttpWebRequest,页首就有reload的怎么办。。郁闷
- 请问控件焦点是什么意思
- 文件上传数据库得时候报错-->将截断字符串或二进制数据
- 谁有用C#编写的web服务器代码
- 如何检测程序是在开发环境还是用户运行环境
- datagridview数据绑定前触发事件
- ★★▲▲关于DataGrid1中的UpdateCommand对验证控件RequiredFieldValidator敏感的问题,紧急求教!
- 如何让自己的程序像网际快车那样添加到系统的右键菜单上?
- 向Oracle数据库插入数据时报正在终止线程
- 高手赐教:怎么通过Enterprise 验证文件存在与否
- 为什么会提示出现索引超出数组范围~~~~????
//
//添加数据在DataSet中添加新行
//
public void AddRow()
{
DataRow dr = this.ds.Tables[TableName].NewRow();
//
//新行插在汇总行的上面
//
// int RowNum=this.ds.Tables [TableName ].Rows .Count ;
this.ds.Tables[TableName].Rows.Add (dr);//.Add(dr);
} //
//删除数据DataSet中删除
//
public void DeleteRow()
{
int RowIndex = this.dgv.CurrentCell.RowIndex;
// MessageBox.Show(RowIndex.ToString());
/* if (RowIndex == this.dgv.Rows.Count - 1)
{
// MessageBox.Show("汇总行不可删除", "系统提示");
}*/
// MessageBox.Show(RowIndex.ToString());
this.ds.Tables[TableName].Rows[RowIndex].Delete();
// MessageBox.Show(RowIndex.ToString());
//
//删除直接保存进数据库
//
this.SaveData();
}//
//保存数据
//
public void SaveData()
{
try
{
/* this.dgv.CommitEdit(DataGridViewDataErrorContexts.Commit);
this.dgv.EndEdit();
this.bs.EndEdit();
this.da.Update(ds, TableName);*/
//
//莫行汇总不保存进数据库 ,所以在保存前将其删除
//
// DeleteSum();
// MessageBox.Show(RowNum.ToString()); /* if (this.ds.HasChanges() == true)
{
}*/
// this.ds .
// this.ds.Tables[TableName].AcceptChanges();
//
this.dgv.CurrentCell = null;
this.dgv.CommitEdit(DataGridViewDataErrorContexts.Commit);
this.dgv.EndEdit();
this.bs.EndEdit();
// this.dgv.Refresh(); // this.ds.AcceptChanges();
// DataSet ds_temp = ds.GetChanges();
// this.da.Update(ds_temp, TableName);
this.da.Update(ds, TableName);
// this.ds.AcceptChanges();
//
//this.da.Update(dv.Table );
}
catch (Exception ex)
{
Console.WriteLine("taskTown 保存数据时出错" + ex.Message.ToString());
} }
如果进入界面不添加新数据,删除的信息可以保存进数据库添加新数据后就保存不进去了
希望指点
再 ds.AcceptChanges();