我正在嘗試更新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?
}
兩個問題:你如何讓你傳遞給第二個表格的行,會直接對你的原始數據工作的更新?如果您只是將數據行傳遞給第二個表單,那麼更新它就不需要將其傳回 - 數據表將自動更新,因爲您正在處理同一個對象。 –