我有一个简单的客户注册表。我在数据网格视图旁边放置了一些文本框,以便我可以添加和更新用户。那工作得很好,现在仍然如此。
最近,我为客户定义添加了一个新的 windows 窗体,因此当双击一行时,会出现一个带有必填字段的窗体,显示客户信息并让您更改它们。单击“确定”按钮将保存对 SQL 数据库的更改。
使用网格视图旁边的字段,当我更新用户信息时,网格视图会立即更新并显示数据,但是当使用新表单更新数据时,即使我再次双击该行,网格视图中也不会显示更新. 当我关闭应用程序并再次运行它时,我会看到更新的数据。
我为主表单添加了一个激活事件,以通过再次从数据库中选择数据来更新网格视图,但没有成功。这是我用于从侧面板更新的代码:
private void btnUpdate_Click(object sender, EventArgs e)
{
if (btnUpdate.Text == "Update")
{
txtUsername.Text = ClientsGridView.CurrentRow.Cells["Username"].Value.ToString();
txtPassword.Text = ClientsGridView.CurrentRow.Cells["Password"].Value.ToString();
txtUID.Text = ClientsGridView.CurrentRow.Cells["UID"].Value.ToString();
txtName.Text = ClientsGridView.CurrentRow.Cells["Name"].Value.ToString();
chkIsActive.Checked = (bool)ClientsGridView.CurrentRow.Cells["IsActive"].Value;
chkItemListAccess.Checked = (bool)ClientsGridView.CurrentRow.Cells["ItemListAccess"].Value;
chkMaterialSumAccess.Checked = (bool)ClientsGridView.CurrentRow.Cells["MaterialSumAccess"].Value;
chkPartListAccess.Checked = (bool)ClientsGridView.CurrentRow.Cells["PartListAccess"].Value;
chkPriceListAccess.Checked = (bool)ClientsGridView.CurrentRow.Cells["PriceListAccess"].Value;
btnUpdate.Text = "Apply Update";
btnSubmit.Enabled = false;
txtUsername.ReadOnly = true;
}
else if (btnUpdate.Text == "Apply Update")
{
if (ClientFormValidation())
{
int id = Convert.ToInt32(ClientsGridView.CurrentRow.Cells["ID"].Value.ToString());
var SelectedUser = from Client in ClientsContext.Clients
where Client.ID == id
}
}
}
相关分类