【发布时间】:2015-03-26 11:52:26
【问题描述】:
我的 winform 中有一个 datagridview 和一个组合框。 gridview 数据根据组合框中的选择而变化。可以将网格中的数据插入和删除(通过检查 comboboxcolumn )到数据库。如果用户想要添加/删除数据并且忘记点击保存,我想提示用户是否要保存。如果进行了更改,我的保存功能会保存。
这是我尝试过的:
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
var result = MessageBox.Show("Do you want to save your changes?", "Save", MessageBoxButtons.YesNo);
if (result == System.Windows.Forms.DialogResult.Yes)
{
Save(false);
}
}
但是,这样做会在表单加载时提示用户。 (因为组合框中有一个默认值)
private void comboBox1_SelectionChange(object sender, EventArgs e)
{
var result = MessageBox.Show("Do you want to save your changes?", "Save", MessageBoxButtons.YesNo);
if (result == System.Windows.Forms.DialogResult.Yes)
{
Save(false);
}
}
当我更改组合框中的值时,使用此事件会提示我,但不是保存在我要离开的表单上,而是将网格数据保存在我要去的表单上并保留以前的网格数据不变。我想在要离开的网格上保存更改。
我是否需要以某种方式跟踪组合框的更改并保存前一个,如果需要,如何?
【问题讨论】:
标签: c# winforms datagridview combobox