Модифицированная привязка данных для TextBox

если вы внесете в код

В этом случае, поскольку источником данных является сам набор данных, вы специфицируете подлежащий привязке столбец, предваряя имя столбца именем таблицы, отделенным точкой, подобно тому, как это делается при указании компонентов типа в коде. NET. Если вы внесете в код образца приложения SimpleNorthwindClient только эти изменения и запустите его снова, то, как и прежде, текстовые поля отобразят значения, соответствующие первой строке сетки. Но если вы щелкнете на другой строке сетки, то обнаружите, что текстовые поля не обновляются. Хотя и сетка, и текстовые поля с одним и тем же источником данных , Способ спецификации источника для этих элементов управления различен с точки зрения механизмов привязки. Для сетки в качестве источника данных была специфицирована таблица Customers В наборе данных. Фактически компонент данных для сетки пуст или нулевой, поскольку он не был указан, а источником данных для текстовых полей является сам набор данных, а не таблица в нем. Эта важная тонкость подвела многих разработчиков, пытавшихся в сложных сценариях привязки данных синхронизировать между собой привязанные элементы управления. Механизмы привязки данных создают отдельный синхронизационный объект для каждого источника данных, который был специфицирован в коде. Но даже когда две привязки опираются на один и тот же логический источник данных, ожидаемой синхронизации не получится, если в этих привязках источник был специфицирован по-разному, поскольку у них будут разные синхронизационные объекты, созданные для каждого из различных способов спецификации источника. Чтобы решить эту проблему, нужно только придерживаться единообразного способа спецификации источников и компонентов данных, и тогда поведение элементов управления, привязанных к одному и тому же источнику данных, будет синхронизованным.