在使用BindingSource绑定数据源时,可以使用BindingSource的CancelEdit方法取消编辑操作,从而避免将修改保存到SQL数据库。以下是一个示例代码:
private void btnSave_Click(object sender, EventArgs e)
{
// 结束编辑并取消保存到数据库
bindingSource1.EndEdit();
bindingSource1.CancelEdit();
// 重新绑定数据源,以取消未保存的修改
bindingSource1.DataSource = GetDataFromSQL();
dataGridView1.DataSource = bindingSource1;
}
private DataTable GetDataFromSQL()
{
// 从SQL数据库中获取数据
string connectionString = "your_connection_string";
string sqlQuery = "SELECT * FROM your_table";
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlDataAdapter adapter = new SqlDataAdapter(sqlQuery, connection);
DataTable dataTable = new DataTable();
adapter.Fill(dataTable);
return dataTable;
}
}
在上述代码中,当点击保存按钮时,首先调用bindingSource1.EndEdit()结束编辑操作,然后调用bindingSource1.CancelEdit()取消保存到数据库的操作。接下来,重新从SQL数据库中获取数据,并重新绑定到DataGridView,以显示未保存的修改被取消的效果。