Я создаю простое приложение C#, которое позволяет пользователю редактировать строки таблицы в базе данных. Интерфейс очень прост, это в основном список строк и несколько кнопок. Выбор строки и нажатие кнопки «Добавить» открывает новую форму с текстовыми полями для каждого столбца. Я хочу, чтобы эти столбцы были заполнены значениями для выбранной строки.C# Связывание TextBox с определенной строкой DataTable
После прочтения нескольких статей, я обнаружил, что, вероятно, простой способ сделать это - привязать свойство Text Text к тексту DataSource. Поэтому я храню значения из базы данных в объекте DataTable, с планом извлечения выбранного DataRow и привязки его к TextBox. Это линия я использую:
productNameTextBox.DataBindings.Add(new Binding("Text", productRow, "Name"));
В результате получается следующее исключение:
Первый шанс исключение типа «System.ArgumentException» произошло в System.Windows.Forms.dll Не может привязать к свойству или столбцу Имя на Источник данных. Имя параметра: dataMember
И да, столбец «Имя» существует.
После прочтения в соответствии с документацией привязок (http://msdn.microsoft.com/en-us/library/4wkkxwcz(v=VS.80).aspx) и многими примерами мне кажется, что один имеет привязку к DataTable, что строка содержится в следующем коде работал для меня.
productNameTextBox.DataBindings.Add(new Binding("Text", productRow.Table, "Name"));
Кроме него всегда устанавливает значение TextBox в первом ряду. Как указать, какую строку использовать?
А, спасибо. Я фактически получаю свой DataRow из DataRowView, который возвращается выбранным элементом списка. Я попробую. – kkrizka
Работает красиво. Благодаря! – kkrizka