2013-06-19 45 views
-1

我在Windows Mobile應用程序中有一個組合框。我已經將商品加入它的方式如下:如何設置和檢索組合框的值?

 

     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的組合框選擇第二項。

還有什麼其他的方法可以去做嗎?

回答

0

我在一位同事的幫助下得到了解決方案。

因爲我已經使用ListItem將值和項目添加到組合框,cmb_task.SelectedValue不起作用。

它必須按以下方式進行類型轉換以檢索值。

 

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

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

我正在使用C#。你的解決方案正是我的問題,但在VB中。 – Arti