2013-06-19 3 views
-1

У меня есть комбинированное поле в приложении для мобильных устройств Windows. Я добавил детали к ним следующим образом:Как установить и получить значение для Combo-Box?

 

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

Я сделал это b'coz я хочу, чтобы установить значение для поля в combobx использовать позже в своем коде.

В функции изменения индекса я хочу установить выбранное значение переменной.

 

    private void cmb_task_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     taskid = Convert.ToInt32(cmb_task.SelectedValue); 
    } 

но почему-то этот кусок кода возвращает 0 в качестве выбранного значения, даже если я выбрать 2-й элемент из выпадающего списка со значением = 2.

Есть ли другой способ этого?

ответ

0

У меня есть решение для этого, с помощью одного моего коллеги.

Поскольку я использовал ListItem для добавления значения и элемента в ComboBox, cmb_task.SelectedValue не работает.

Для получения значения он должен быть выбран следующим образом.

 

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

-1

Как выбрать значение ValueMember в SelectedIndexChanged?

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 
+0

Я использую C#. ваше решение в точности соответствует моему вопросу, но в VB. – Arti

Смежные вопросы