-1

我在 Windows 移动应用程序中有一个组合框。我通过以下方式向其中添加了项目:

        cmb_task.Items.Add(new ListItem(taskid.ToString(), taskname));

我已经这样做了,因为我想为组合框设置一个值字段,以便稍后在我的代码中使用。

在索引更改功能中,我想将所选值设置为变量。

     私人无效 cmb_task_SelectedIndexChanged(对象发送者,EventArgs e)
     {
        taskid = Convert.ToInt32(cmb_task.SelectedValue);
     }

但不知何故,即使我从值为 2 的组合框中选择第二个项目,这段代码也会返回 0 作为选定值。

还有其他方法可以解决吗?

4

2 回答 2

0

在我的一位同事的帮助下,我得到了解决方案。

由于我使用 ListItem 将值和项目添加到 ComboBox,因此 cmb_task.SelectedValue 不起作用。

它必须按以下方式进行类型转换才能检索值。

    ListItem 列表 = (ListItem)cmb_task.SelectedItem;
    taskid = Convert.ToInt32(list.ID);

于 2013-06-19T05:17:12.953 回答
-1

如何在 SelectedIndexChanged 中选择 ValueMember 的值?

Dim DTDep As DataView
Private Sub CargarUbicacion()
        Dim adapter As New SqlCeDataAdapter
        Dim comando As SqlCeCommandBuilder
        Dim Datos As New DataSet
        Dim Str As String
        Dim Consult As String


        Try
            Str = "select idUbicacion,Descripcion from Ubicacion order by Descripcion"

            Dim Cn As SqlCeConnection = GetConnection()
            adapter = New SqlCeDataAdapter(Str, Cn)
            adapter.Fill(Dset, "UBICACION")
            DTDep = Dset.Tables("UBICACION").DefaultView
            Me.cmbUbicaciones.DataSource = DTDep
            Me.cmbUbicaciones.DisplayMember = "Descripcion"
        Catch ex As Exception
            MsgBox("Error al cargar ubicaciones" & ex.Message)
        End Try
    End Sub
this ?
  Private Sub cmbUbicacion_SelectedValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmbUbicacion.SelectedValueChanged


        Me.lblIiUbiFin.Text = Convert.ToInt32(Me.cmbUbicacion.SelectedValue).ToString

    End Sub
于 2014-10-01T15:30:27.107 回答