AR1988 Ответов: 2

Привязки объекта DataTable, чтобы текстовые поля в WinForms на C#


Мне нужно привязать поля datatable к текстовым полям в winfrom вот код который я использую:

string currenciesQuery = "SELECT * FROM Currencies";
           currencyDataSet1 = new DataSets.CurrencyDataSet();
           DataTable dataTable = currencyDataSet1.Tables.Add("Currencies");
           string connectionString = System.Configuration.ConfigurationSettings.AppSettings["SQLConnectionString"].ToString();

           using (SqlConnection connection = new SqlConnection(connectionString))
           {
               SqlDataAdapter dataAdapter = new SqlDataAdapter(currenciesQuery, connection);

               dataAdapter.Fill(currencyDataSet1, "Currencies");
           }

           txtId.DataBindings.Add("Int", dataTable, "CurrencyId");
           txtCode.DataBindings.Add("Text", dataTable, "CurrencyCode");
           txtName.DataBindings.Add("Text", dataTable, "CurrencyName");
           txtRate.DataBindings.Add("Decimal", dataTable, "CurrencyRate");


Он генерирует исключение:

"Не может привязаться к свойству" Int " в целевом элементе управления.
Имя параметра: PropertyName"

2 Ответов

Рейтинг:
1

Peter Leow

Две ошибки:

//txtId.DataBindings.Add("Int", dataTable, "CurrencyId");
txtId.DataBindings.Add("Text", dataTable, "CurrencyId");
//txtRate.DataBindings.Add("Decimal", dataTable, "CurrencyRate");
txtRate.DataBindings.Add("Text", dataTable, "CurrencyRate");


AR1988

Невозможно привязать к свойству или столбцу CurrencyCode в источнике данных.
Имя параметра: dataMember

Peter Leow

Давайте решать одну вещь за раз. Было первое исключение '"не может привязаться к свойству' Int ' на целевом элементе управления. Имя параметра: PropertyName " решается моим первым решением?

Второе исключение говорит о том, что в источнике данных нет "CurrencyCode", пожалуйста, проверьте, существует ли он в таблице валют, или это опечатка?

satheeshk787

Спасибо.....

Рейтинг:
0

Member 12704333

//txtId.DataBindings. Add("Int", dataTable, " CurrencyId");
txtId.DataBindings. Add ("Text", dataTable, " CurrencyId");
//txtRate.DataBindings. Add ("Decimal", dataTable, " CurrencyRate");
txtRate.DataBindings. Add ("Text", dataTable, " CurrencyRate");


CHill60

Ваше "решение" неясно... чем оно отличается от решения 1 3-летней давности? ЭМ, ни в коем случае