在c#中编辑datagridview后如何更新我的数据库
Posted
技术标签:
【中文标题】在c#中编辑datagridview后如何更新我的数据库【英文标题】:How to update my database after editing the datagridview in c# 【发布时间】:2016-08-24 04:28:30 【问题描述】:我正在尝试使用单击DataGridView2 的单元格,然后获取单击的单元格的值来编辑DataGridView1 的选定单元格。但是,adpter.update 无法将已编辑的数据更新到数据库。
这段代码是获取DataGridView2被点击的单元格值来编辑DataGridView1被选中的单元格值。
private void DataView2_CellClick(object sender, DataGridViewCellEventArgs e)
int TempCellIndex;
int TempRowIndex;
TempCellIndex = DataView1.CurrentCell.ColumnIndex;
TempRowIndex = DataView1.CurrentCell.RowIndex;
CellChangeContext = DataView1.CurrentCell.Value.ToString();
try
if (((btnFlag != 2) && (btnFlag != 3)) || (TempCellIndex < 2))
return;
DataView1.Rows[TempRowIndex].Cells[TempCellIndex++].Value = DataView2.Rows[e.RowIndex].Cells[0].Value;
MessageBox.Show(DataView1.Rows[TempRowIndex].Cells[TempCellIndex-1].Value.ToString());
if (DataView1.CurrentCell.Value.ToString().Equals(CellChangeContext))
return;
else
DataView1.CurrentCell.Style.ForeColor = System.Drawing.Color.Red;
if (CellIndex == 22)
DataView1.Rows[TempRowIndex].Cells[TempCellIndex - 1].Selected = false;
else
DataView1.Rows[TempRowIndex].Cells[TempCellIndex].Selected = true;
DataView1.CurrentCell = DataView1.Rows[TempRowIndex].Cells[TempCellIndex];
catch (Exception ex)
MessageBox.Show(ex.Message);
;
这段代码是通过点击按钮来实现数据库更新的。
private void btnSAVE_Click(object sender, EventArgs e)
if ((btnFlag == 2)||(btnFlag == 3))
DataView1.ReadOnly = true;
EnableBtn();
this.mST_RECIPETableAdapter.Update(this.processRecipe.MST_RECIPE);
this.mST_RECIPETableAdapter.Fill(this.processRecipe.MST_RECIPE);
this.DataView1.ClearSelection();
if (btnFlag == 4)
DataView2.Columns["pRNCDataGridViewTextBoxColumn"].ReadOnly = true;
EnableBtn();
this.mST_PROCTableAdapter.Update(this.processOption.MST_PROC);
this.mST_PROCTableAdapter.Fill(this.processOption.MST_PROC);
【问题讨论】:
【参考方案1】:我自己已经解决了这个问题。关键是在更新前添加mSTRECIPEBindingSource.EndEdit();
。
【讨论】:
以上是关于在c#中编辑datagridview后如何更新我的数据库的主要内容,如果未能解决你的问题,请参考以下文章
使用 c# 编辑 DataGridview 并将其保存在数据库表中
C# winform中 界面加载时datagridview绑定了数据源(datatable),修改datagridview的内容后,如何更新数