HI
Этот вопрос часто задавался в Интернете, но все они, похоже, перепутаны с формами windows и asp.net, поэтому мне пришлось наконец прийти сюда за ответом.
У меня есть основная форма (оконная форма) в VB.NET, в которой есть поле со списком для отображения списка стран. Подформа, активируемая с помощью «Кнопки» в главной форме, позволяет пользователям добавлять страны в свой список. Но после добавления новой записи поле со списком в главной форме не показывает обновление (пока оно еще открыто). Я должен выйти из основной формы и перезапустить ее, чтобы увидеть обновление.
Функция заполнения показана ниже. Я называю этот метод после добавления новых стран, но все же; нехорошо. Я использовал функцию Invalidate поля со списком, но также бесполезен.
Любая помощь приветствуется. Спасибо
Public Sub PopulateCountry()
Dim rsLocal As New ADODB.Recordset
Try
Dim sSQLCommand As String
Me.CountryList.Items.Clear()
'get the list of countries from the local database
sSQLCommand = " SELECT * FROM CountryList order by CountryDesc"
rsLocal.Open(sSQLCommand, cnn, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockOptimistic)
'Display All the countries
While rsLocal.EOF = False
Dim Country As New modGV.cbItem
Country .ID = rsLocal.Fields("CountryID").Value
Country.name = rsLocal.Fields("Country Desc").Value.ToString.Trim
Me.CountryList.Items.Add(Country)
rsLocal.MoveNext()
End While
rsLocal.Close()
Catch ex As Exception
Debug.WriteLine("PopulateCountry: exception occurred " & ex.Description)
Finally
If rsLocal.State = ConnectionState.Open Then
rsLocal.Close()
End If
End Try
End Sub