меня такая ситуация:Редактировать коллекция BindingSource
У меня есть список или массив (haven't deciced который один лучше для моей цели, но это не распространяется материя) некоторых объектов (например, список лиц). В моей форме есть DataGridView, где я хочу видеть всех людей и их атрибуты. Атрибуты Person могут быть отредактированы во время выполнения, и я хочу немедленно увидеть эти изменения в DataGridView. Я использовал для этого BindingSource
:
Dim _persons As New List(Of Person)
Dim persons As BindingSource = New BindingSource()
persons.DataSource = _persons
myGridView.DataSource = persons
Теперь, когда я добавить/удалить человека с помощью BindingSource (лиц), это работает отлично. Это изменение я вижу сразу. Но что, если я хочу отредактировать одного человека? Позволяет иметь этот класс:
Public Class Person
Public Property FirstName As Integer
Public Property SecondName As String
Public Property Address As String
End Class
Если я хочу, чтобы изменить имя Я могу сделать это следующим образом:
_persons(1).FirstName = "John"
Но это непосредственно через список, а не через BindingSource, так это изменение не вступит в DataGridView. Есть ли способ сделать это через BindingSource, чтобы повлиять на это редактирование в DataGridView?
Извините, но это первый раз, когда я работаю с BindingSource, так что это, наверное, глупый вопрос. Спасибо вам, ребята.
+ myGridView.Refresh(), и она работает. Отлично, спасибо! – DanielH
@ DanielH Добро пожаловать. – varocarbas