我正在尝试更新SQL表中的单个记录。所以,我有DataGridView
视图的表,当在表中选择某一行并点击更新按钮时,打开新的更新Form
。如何替换/更新DataGridView中的DataRow
主窗体将DataRow
行参数传递给新的Form
,当更新结束时,行返回到主窗体。代码示例是关于像这样的主要形式:
private void btnUpdateUser_Click(object sender, EventArgs e)
{
//Some code to extract DataRow
FormUpdateUsers updateUser = new FormUpdateUsers(row, new Action<DataRow>(onUserUpdated));
updateUser.Show();
}
当更新表单完成更新,它调用的操作并返回行主窗体,如下图所示。
public partial class FormUpdateUsers : Form
{
private DataRow row;
private Action<DataRow> action;
public FormUpdateUsers(DataRow row, Action<DataRow> action)
{
InitializeComponent();
this.row = row;
this.action = action;
}
private void btnConfirm_Click(object sender, EventArgs e)
{
//Some code for updatin a database
action.Invoke(row);
}
}
的问题是,如何将返回的行晒到DataGridView
和替换过时的呢?有什么建议么?
private void onUserUpdated(DataRow row)
{
// Update DataGridView?
}
两个问题:你如何让你传递给第二个表格的行,会直接对你的原始数据工作的更新?如果您只是将数据行传递给第二个表单,那么更新它就不需要将其传回 - 数据表将自动更新,因为您正在处理同一个对象。 –