>我有一个datagridview
和一个添加和保存按钮。每次我使用"添加"按钮将行添加到datagridview
,最后通过"保存"按钮将所有行保存到数据库中。
我想再次向同一datagriview
添加/几行,然后保存到数据库,但是在将新项目保存到数据库时,它会再次获取整个datagridview行并保存到数据库。
我只想保存新添加的数据或编辑的数据。有没有办法将焦点设置为新添加的行或编辑的行?最后只保存新添加或编辑的行?
我的数据网格视图总是在最后向数据库添加/插入数据。
我使用以下代码将datagridvew
行保存到数据库:
int chkLoop;
chkLoop = dgvOrderList.Rows.Count;
MessageBox.Show(chkLoop.ToString());
foreach (DataGridViewRow row in dgvOrderList.Rows)
{
//MessageBox.Show(chkLoop.ToString());
//MessageBox.Show(row.co.ToString());
if (chkLoop != 1)
{
comm = new OleDbCommand("INSERT INTO Orders_Description (ItemCode, Quantity, Amount, OrderId, CreatedOn) VALUES ('" + Convert.ToInt32(row.Cells["Code"].Value) + "', '" + Convert.ToInt32(row.Cells["Quantity"].Value) + "', '" + Convert.ToInt32(row.Cells["Amount"].Value) + "', '" + Convert.ToInt32(txtOrderNo.Text) + "', '" + DateTime.Now + "')", conn);
MessageBox.Show(comm.CommandText);
comm.ExecuteNonQuery();
chkLoop = chkLoop - 1;
}
}
我懒得想...因此,您可以使用复选框添加其他列,并且每当添加新行时,复选框的默认值都会被选中,然后在保存时,只需选中该特定复选框是否选中。如果未选中,则表示它不是新行,然后继续下一次迭代。
如果你没有得到我在下面所说的评论,我会给你一个例子。