以编程方式更改SelectedValue ComboBox

时间:2014-12-02 16:26:45

标签: vb.net

我通过连接sql语句中的数据源来填充组合框。

dt = select Name as [Name], Code as [Id] from Table

然后我想将组合框的默认值设为“Nick”,我将使用以下代码找到它

    For Each i as DataRowView in comboBox.Items

    If i("Name").ToString="Nick" Then
    comboBox.SelectedIndex=selectedCount
    Exit For
    End If

selectedCount=selectedCount +1
Next

这将正确显示“Nick”作为comboBox中的默认值,但是当我使用以下代码获取selectedValue时,它将获得列表中第一项的选定索引而不是delfault项“Nick”。

当我单击一个按钮并查看组合框的SelectedIndex时,它会重新设置为0,尽管它在comboxbox中显示正确的selectedValue。

item=comboBox.SelectedValue.ToString

如何获得所选的值我将组合框默认为?

1 个答案:

答案 0 :(得分:0)

这对我有用:

item = comboBox.Items(comboBox.SelectedIndex).ToString

如果您的SelectedIndex以某种方式恢复为0,则声明一个int并在您的循环中,将ints值设置为selectedCount。然后使用int作为comboBoxe的项目索引来设置项目:

Dim index as Int = 0

For Each i as DataRowView in comboBox.Items

  If i("Name").ToString="Nick" Then
  comboBox.SelectedIndex=selectedCount
  index = selectedCount
  Exit For
  End If

  selectedCount=selectedCount +1
Next

item = comboBox.Items(index).ToString