перейти к предыдущей/следующей записи casues 'System.Data.DataRowView' для отображения в ключевом поле

Помощь! Я пытаюсь перемещаться по предыдущим/следующим записям (серверная база данных MS Access) в связанной форме. Обратите внимание, что это DataRowView (с отдельными полями), а не DataGridView. У меня есть две связанные проблемы, но я рассмотрю вторую проблему в другом посте. У меня есть два ключевых поля в базовой таблице базы данных. Второе ключевое поле, Carrier_No, определяется как 5 символов. Когда я пытаюсь перейти к предыдущей записи, приложение заполняет второе ключевое поле «System.Data.DataRowView». Затем, когда я снова нажимаю кнопку «Назад» (или «Далее»), я получаю следующую ошибку: System.ArgumentException: «Невозможно установить столбец «Carrier_No». Значение нарушает ограничение MaxLength для этого столбца». Что я делаю не так? Казалось бы, такая простая задача.


person Jeff S    schedule 10.12.2020    source источник
comment
Забыл упомянуть, это VB.NET в Visual Studio Community 2019. MS Access 2010.   -  person Jeff S    schedule 10.12.2020
comment
Можете ли вы предоставить метод, который обрабатывает навигацию по предыдущей/следующей записи и где устанавливаются свойства для DataRowView? Похоже, что-то странное происходит с элементом value или другими свойствами, которые сообщают элементу управления, что отображать.   -  person Tim    schedule 10.12.2020
comment
Все дело в коде, Джефф! Предоставьте свой код, и мы могли бы вам помочь.   -  person Christoph    schedule 11.12.2020
comment
Вы явно не правильно привязываетесь. Поскольку вы не показали нам, что вы сделали, мы не можем сказать вам, что с этим не так. Пожалуйста, пройдите экскурсию по сайту, которую вы отклонили при регистрации, и проведите некоторое время в Справочном центре, чтобы узнать, как работает этот сайт. Чем раньше вы научитесь задавать хороший вопрос, тем быстрее получите нужные ответы. Кроме того, никто не должен читать комментарии, чтобы понять вопрос. Если вы забыли что-то упомянуть, отредактируйте свой вопрос и упомяните об этом. Если кто-то задает вопрос о релевантной информации, которую вы пропустили, отредактируйте вопрос и добавьте ее.   -  person jmcilhinney    schedule 11.12.2020


Ответы (1)


Спасибо всем за ваши ответы. После долгих поисков и устранения неполадок я наткнулся на решение. Оказывается, виновником было свойство выпадающего списка «DropDownStyle». Первоначально я установил свойство «DropDownList», чтобы пользователи не могли вводить значение. Когда я установил свойство «DropDown», проблема исчезла. Я понятия не имею, почему это свойство может иметь какое-либо влияние на навигацию по записям, но оно влияет. Чтобы пользователи не могли вводить данные, я использовал некоторый код в событии «KeyPress» поля со списком. Как оказалось, это решение также решило связанную с этим проблему (значения поля со списком копируются в другие записи, отдельный пост). Private Sub cmb_TPA_KeyPress(sender As Object, e As KeyPressEventArgs) Handles cmb_TPA.KeyPress MsgBox("Please select a TPA value from the pick list.", vbExclamation) e.Handled = True 'cancel event End Sub

person Jeff S    schedule 11.12.2020