Vb.net 保存和删除时更新组合框
我有一个带有员工档案名称的绑定组合框。我有两个按钮:保存和删除按钮 当我编辑一个选定的配置文件时,我点击save并自动将更改反映在绑定组合框中,但当我点击delete或create new profile时,我必须关闭应用程序,当我打开它时,我会在绑定组合框中看到更改 combobox.Refresh()无效 这是我的代码:Vb.net 保存和删除时更新组合框,vb.net,combobox,Vb.net,Combobox,我有一个带有员工档案名称的绑定组合框。我有两个按钮:保存和删除按钮 当我编辑一个选定的配置文件时,我点击save并自动将更改反映在绑定组合框中,但当我点击delete或create new profile时,我必须关闭应用程序,当我打开它时,我会在绑定组合框中看到更改 combobox.Refresh()无效 这是我的代码: Private Sub deleteselectedprofile_Click(ByVal sender As System.Object, ByVal e As Syst
Private Sub deleteselectedprofile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_deleteprofile_oninsideprofiledittap1.Click
Dim mconn As New SqlConnection("Data Source=(local);Initial Catalog=epmapp_db;Integrated Security=true;")
Dim cmd As New SqlCommand
cmd.Connection = mconn
cmd.CommandType = CommandType.Text
cmd.CommandText = "delete GeneralInfo where RecordId= " + cbox_profiles.SelectedValue.ToString
Try
If MessageBox.Show("¿Está seguro de querer borrar este perfil?", _
"Delete", MessageBoxButtons.YesNo, _
MessageBoxIcon.Warning) = DialogResult.No Then
mconn.Close()
MsgBox("Operación Cancelada")
Else
mconn.Open()
cmd.ExecuteNonQuery()
MessageBox.Show("Su perfil se ha actualizado exitosamete")
Clear_Form_tap1()
disabling_controlstap1()
btn_newprofile_onload_tap1.Visible = True
btn_saveprofile_oninside_profileedit_tap1.Visible = False
btn_editprofile_oncboxselectiontap1.Visible = False
btn_cancelprofileedit_onprofileselectiontap1.Visible = False
btn_deleteprofile_oninsideprofiledittap1.Visible = False
cbox_profiles.Enabled = True
ErrorProvider1.Clear()
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
mconn.Close()
End Try
End Sub
我在“设计”选项卡中使用
Combo Box Task
Use Data Bound Items
Data Binding Mode
Data Source = GeneralInfoBindingDource
Display Member = Nombre
Value Member = RecordId
Selected Value = none
我的保存按钮代码
Private Sub btn_saveprofile_oninside_profileedit_tap1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_saveprofile_oninside_profileedit_tap1.Click
Me.Validate()
Me.GeneralInfoBindingSource.EndEdit()
Me.GeneralInfoTableAdapter.Update(Me.Epmapp_dbDataSet)
Try
MessageBox.Show("Su perfil ha actualizado exitosamete")
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
Clear_Form_tap1()
disabling_controlstap1()
btn_saveprofile_oninside_profileedit_tap1.Visible = False
btn_cancelprofileedit_onprofileselectiontap1.Visible = False
btn_deleteprofile_oninsideprofiledittap1.Visible = False
btn_editprofile_oncboxselectiontap1.Visible = False
btn_newprofile_onload_tap1.Visible = True
cbox_profiles.Enabled = True
ErrorProvider1.Clear()
End Sub
我尝试了一些代码,但没有一个适合我。有人能帮我为这个小问题编写一个代码吗?如果我正确地遵循了这一点,那么当您删除一条记录时,您将直接在数据库中执行此操作。但是,您没有更新数据源(GeneralInfo BindingDource)。我猜你在创建一个新项目时也会遇到同样的问题。数据库会更新,因此当它从数据库重新加载数据时,它会显示正确的数据。(重新打开时) 您需要更新数据源 保存之所以有效,是因为您正在更新数据源,而不是在不更新数据库的情况下将更改写入数据库
Me.GeneralInfoBindingSource.EndEdit()
Me.GeneralInfoTableAdapter.Update(Me.Epmapp_dbDataSet)
如果我正确地遵循了这一点,那么当您删除记录时,您将直接在数据库中执行此操作。但是,您没有更新数据源(GeneralInfo BindingDource)。我猜你在创建一个新项目时也会遇到同样的问题。数据库会更新,因此当它从数据库重新加载数据时,它会显示正确的数据。(重新打开时) 您需要更新数据源 保存之所以有效,是因为您正在更新数据源,而不是在不更新数据库的情况下将更改写入数据库
Me.GeneralInfoBindingSource.EndEdit()
Me.GeneralInfoTableAdapter.Update(Me.Epmapp_dbDataSet)
你应该提到使用了什么编程语言