Vb.net 动态更新组合框的更好方法?
我想知道是否有人对改进我代码的以下功能提出了建议或提示。基本上,我正在制作一个更新/修改表单,它从数据库的一个表中填充它的字段,到目前为止,一切都很好,直到我到达组合框 我有三个,角色,地位和性别。问题是,当我像这样加载当前用户的信息时:Vb.net 动态更新组合框的更好方法?,vb.net,visual-studio,combobox,visual-studio-2013,Vb.net,Visual Studio,Combobox,Visual Studio 2013,我想知道是否有人对改进我代码的以下功能提出了建议或提示。基本上,我正在制作一个更新/修改表单,它从数据库的一个表中填充它的字段,到目前为止,一切都很好,直到我到达组合框 我有三个,角色,地位和性别。问题是,当我像这样加载当前用户的信息时: Dim lstDatos As New ArrayList() lstDatos = gestorUsuario.consultarUsuario(idUsuario) txtNombre1.Text = lstDatos(0)
Dim lstDatos As New ArrayList()
lstDatos = gestorUsuario.consultarUsuario(idUsuario)
txtNombre1.Text = lstDatos(0)
txtNombre2.Text = lstDatos(1)
txtApellido1.Text = lstDatos(2)
txtApellido2.Text = lstDatos(3)
cmbGenero.DisplayMember = lstDatos(4) 'HERE
txtCorreo.Text = lstDatos(5)
txtCedula.Text = lstDatos(6)
txtTelefono.Text = lstDatos(7)
cmbRol.Text = lstDatos(8) 'HERE
cmbEstado.Text = lstDatos(9) 'And Here
只能选择用户当前的Rol、Estado和性别,以解决以下问题:
Private Sub updateRol(sender As Object, e As EventArgs) Handles cmbRol.Click
actualizarComboBox()
End Sub
它调用以下函数:
Private Sub actualizarComboBox()
cmbGenero.Items.Add("Masculino")
cmbGenero.Items.Add("Femenino")
cmbEstado.DataSource = gestorUsuario.consultarEstados
cmbEstado.DisplayMember = "nombre_estado"
cmbEstado.ValueMember = "id_estado"
cmbRol.DataSource = gestorRol.consultarRoles
cmbRol.DisplayMember = "nombre"
cmbRol.ValueMember = "id_rol"
End Sub
老实说,它可以工作,但是…第一次选择组合框时,当它加载其他选项时,您可以看到一个可见的跳转,而且当我单击组合时,它会自动丢失用户当前信息的“占位符”(如果您愿意),并直接转到第一个选项
因此,如果我有:
*B
当我的用户当前的cmbRol.Text
时,我单击组合框,它会闪烁一点并更改为:
*A
-B
-C
其中*表示所选或高亮显示的选项。
如果有人有任何建议或提示,我将非常感激。非常感谢 更换
cmbGenero.DisplayMember = lstDatos(4) 'HERE
cmbRol.Text = lstDatos(8) 'HERE
cmbEstado.Text = lstDatos(9) 'And Here
为此:
cmbGenero.SelectedItem = lstDatos(4) 'SelectedItem is sufficient because cmbGenero is not binding to Data Base
cmbRol.SelectedValue = lstDatos(8) 'SelectedValue is required because cmbRol and cmbEstado is binding to Data Base
cmbEstado.SelectedValue = lstDatos(9)
事实上,您需要在FormLoad()上调用
ComboBox()
,然后才能将值设置为currentoption@Nadeem_MK但是,如果我这样做了,并且我不想更改该用户的rol或性别等,那么每次我保存其他字段时,我都必须重新为他/她分配这些选项。哦,这意味着性别可能为空?在这种情况下,您仍然可以添加一个通用值作为列表中的第一项,例如“选择选项”之类的。