Visual Basic - DropDown文本未更改以反映值

时间:2016-06-10 09:31:34

标签: vb.net dropdownbox

我在VB工作,并且有一个事件应该更新DropDown中的多个值,并相应地更新文本:

        For i As Integer = 0 To (prices.Items.Count - 1)
            If prices.Items(i).Text.Contains("£") Then
                Dim dConvertedValue = getTextAsDouble(prices.Items(i).Value) / dConversionRate
                prices.Items(i).Value = dConvertedValue.ToString()

                'should update displayable text here, but no change
                prices.Items(i).Text = (Math.Floor(dConvertedValue).ToString("N") & "$")
            End If
        Next

这在理论上运作良好,我已逐步完成并且可以看到值正在按预期变化。但是,Dropdown不会随时更新。

我对VB很新,所以它可能像语法错误一样简单。有人知道为什么会这样吗?

标记

1 个答案:

答案 0 :(得分:1)

尝试使用此我已使用您的确切代码,但将循环更改为“For each”

For each Item as ListItem in prices.items
    If Item.Text.Contains("£") Then
        Dim dConvertedValue = (getTextAsDouble(Item.Value) / dConversionRate)
        Items.Value = dConvertedValue.ToString()
        Items.Text = (Math.Floor(dConvertedValue).ToString("N") & " sq m")
    End If
Next