Немного больше кода поможет, но кажется, что ваш источник данных SQL достаточно умен, чтобы знать, что запрос доступен только для чтения.
Как вы сказали, когда вы снимаете объединение, он работает нормально.Поэтому установка сетки для источника данных
SELECT FOO FROM MyTable
Может привести к созданию соответствующего запроса на обновление UPDATE MyTable
.Не существует такого соответствующего запроса с
SELECT FOO FROM MyTable UNION SELECT FOO FROM MyOtherTable
Таким образом, сетка, вероятно, достаточно умна, чтобы помешать вам редактировать эти поля.Это то же самое поведение, когда вы связываете DGV с коллекцией объектов C #;те колонки, которые доступны только для чтения, никогда не могут быть отредактированы (как могли);