У меня есть несколько элементов управления в приложении winform, к которым я добавил привязки данных для использования кода.
Dim tblWrapper As ObliqueQCAndSpliceTool.TableWrapper = New ObliqueQCAndSpliceTool.TableWrapper(tbl, idField.Name)
tblWrapper.UseCVDomains = True
bindSource = New BindingSource
bindSource.DataSource = tblWrapper
bindMgr = BindingContext(bindSource)
bindSource.SuspendBinding()
Dim idBinding As Binding = New Binding("Text", bindSource, idField.Name)
txtPointID.DataBindings.Add(idBinding)
Тогда у меня есть другой код, который может автоматически изменять значения в этих элементах управления, когда пользователь перемещается по записям в списке. У меня был запрос на добавление простой кнопки, которая отключит / повторно включит редактирование для этих элементов управления. Другими словами, если этот параметр включен, пользователь или программа могут редактировать элементы управления, и новые значения будут сохранены в исходном наборе данных. Если этот параметр отключен, элементы управления должны по-прежнему отображать значения из исходного набора данных, но пользователь или программа должны иметь возможность изменять эти значения.
Я изучил свойство AllowEdit
объектов BindingList
(tablewrapper) и BindingSource
, которые создают привязки данных, но не повезло.
Есть ли способ изменить все привязки данных только для чтения без изменения каждого элемента управления или сброса всех привязок?
UPDATE:
Я попробовал решение, предоставленное @LarsTech, но из-за некоторых проблем, связанных с настройкой привязок, я не смог изменить режим обновления без воссоздания всех привязок. Я решил, что будет проще просто отключить весь код, который программно изменяет значения в элементах управления, и отключить все элементы управления, когда кнопка отключена.