我在数据绑定的 DataGridView 中有一个复选框,选中后会打开一个弹出窗体。我填写表格并关闭它,表格中的数据填充到该行中。但是更改没有被保存。
我能够手动编辑单元格,并且这些单元格已成功保存。但是由于某种原因没有以编程方式保存 - 我没有成功确定原因。有人可以帮忙吗?
private void dgvItemsTable_CellValueChanged ( object sender, DataGridViewCellEventArgs e )
{
if ( dgvItemsTable.Columns[e.ColumnIndex].Name == soldColumn &&
(bool)dgvItemsTable.Rows[e.RowIndex].Cells[e.ColumnIndex].Value == true )
{
formSoldItemPopup.FillComboBoxAutoComplete ( dataSetItems, expenseTypeColumn, true );
DialogResult dialogResult = formSoldItemPopup.ShowDialog ();
if ( dialogResult == DialogResult.OK )
{
dgvItemsTable.BeginEdit ( true );
dgvItemsTable.Rows[e.RowIndex].Cells[salesChannelIDColumn].Value = Int32.Parse ( salesChannelID );
dgvItemsTable.Rows[e.RowIndex].Cells[salePriceColumn].Value = formSoldItemPopup.SalePrice;
dgvItemsTable.Rows[e.RowIndex].Cells[saleDateColumn].Value = formSoldItemPopup.SaleDate;
dgvItemsTable.Rows[e.RowIndex].Cells[expensesColumn].Value = formSoldItemPopup.Expenses;
dgvItemsTable.Rows[e.RowIndex].Cells[expenseTypeColumn].Value = formSoldItemPopup.ExpenseType;
dgvItemsTable.Rows[e.RowIndex].SetValues ();
dgvItemsTable.EndEdit ();
UpdateItemsDatabase ();
}
}
}
private void dgvItemsTable_CurrentCellDirtyStateChanged ( object sender, EventArgs e )
{
if ( dgvItemsTable.IsCurrentCellDirty )
{
dgvItemsTable.CommitEdit ( DataGridViewDataErrorContexts.CurrentCellChange );
}
}
private void dgvItemsTable_CellEndEdit ( object sender, DataGridViewCellEventArgs e )
{
UpdateItemsDatabase ();
}
拉风的咖菲猫
相关分类