0
我想知道是否有人有一個建議或提示,以改善我的代碼的以下功能。基本上我做了一個更新/修改表單,它填充了一個DataBase的表中的字段,到目前爲止,一切都很好,直到我到達組合框。動態更新組合框的更好方法?
我有三個人,角色,地位和性別。問題是,當我裝了當前用戶的信息是這樣的:
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,埃斯塔和性別可以選擇,要解決,我提出以下幾點:
Private Sub updateRol(sender As Object, e As EventArgs) Handles cmbRol.Click
actualizarComboBox()
End Sub
哪調用actualizarFunction:
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
它還挺作品是誠實的,但...第一次下拉框中選擇你可以看到一個明顯的跳躍,當它加載其他OPTIO ns,當我點擊組合框時,它會自動丟失用戶當前信息的「佔位符」,直到第一個選項。
所以,如果我有:
* B
正如我的用戶的當前cmbRol.Text
和我點擊它閃爍了一下,更改組合框:
* A -B -C
其中*表示選定或高亮選項。 如果有人有任何建議或提示,我將非常感激。非常感謝。
事實上,你需要打電話給你'actualizarComboBox()'在FormLoad(),那麼你可以將值設置爲當前選項 – 2014-10-27 06:52:34
@ Nadeem_MK但是,如果我這樣做,我不想改變該用戶的名單或性別等,我將不得不重新分配他/她的這些選項,每次我保存其他領域。 – 2014-10-27 14:40:10
哦,這意味着gendre可能會留空嗎?在這種情況下,您仍然可以添加一個通用值作爲列表中的第一項,例如'_Choose a option_'。 – 2014-10-27 14:42:03