Вопрос по DataGridViewComboBoxColumn

Форум посвящён работе с базами данных в .NET.

Модератор: Ramzes

sweetpain
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 09.10.2007 (Вт) 15:38

Вопрос по DataGridViewComboBoxColumn

Сообщение sweetpain » 09.10.2007 (Вт) 15:41

В DataGridView вставляю 2 контрола DataGridViewComboBoxColumn, которые заполняю данными из 2-х разных таблиц базы данных. Устанавливаю для каждого соответсвующие свойства

DisplayIndex
HeaderText
DataPropertyName
DataSource
DisplayMember
ValueMember

Во время работы программы оба контрола заполняются данными корректно, но для одной колонки в комбобоксах происходит выбор и отображение DisplayMember при загрузке формы, а в другом не происходит. Кто знает, в чем тут дело?

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 09.10.2007 (Вт) 17:00

эээ код?

sweetpain
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 09.10.2007 (Вт) 15:38

Сообщение sweetpain » 10.10.2007 (Ср) 10:22

//
// на этот момент <EditAccountsDataGridView> уже создан
//

string source = ParentFrm.sourceProp; // строка подключения

try
{
using (SqlConnection conn = new SqlConnection(source))
{
conn.Open();
System.Data.SqlClient.SqlDataAdapter DA1;
System.Data.DataSet ds1 = new DataSet();
System.Data.SqlClient.SqlDataAdapter DA2;
System.Data.DataSet ds2 = new DataSet();
string commandText; // строка запроса
DataGridViewComboBoxColumn listCol;

// заполняет комбобоксы но не выбирает в них <Название> по <КодКлиента>
commandText = "Select КодКлиента, Название FROM СпрКлиенты"; // строка запроса к таблице "СпрКлиенты"
DA1 = new SqlDataAdapter(commandText, conn);
DA1.Fill(ds1, "СпрКлиенты");
listCol = new DataGridViewComboBoxColumn();
listCol.DisplayIndex = 1;
listCol.HeaderText = "Поставщик";
listCol.DataPropertyName = "КодКлиента";
listCol.DataSource = ds1.Tables["СпрКлиенты"];
listCol.DisplayMember = "Название";
listCol.ValueMember = "КодКлиента"; // primary key
this.EditAccountsDataGridView.Columns.Add(listCol);

// заполняет комбобоксы и выбирает в них <Currency> по <Currency_ID>
commandText = "Select Currency_ID, Currency FROM Currency"; // строка запроса к таблице "Currency"
DA2 = new SqlDataAdapter(commandText, conn);
DA2.Fill(ds2, "Currency");
listCol = new DataGridViewComboBoxColumn();
listCol.DisplayIndex = 3;
listCol.HeaderText = "Валюта";
listCol.DataPropertyName = "Currency_ID";
listCol.DataSource = ds2.Tables["Currency"];
listCol.DisplayMember = "Currency";
listCol.ValueMember = "Currency_ID"; // primary key
this.EditAccountsDataGridView.Columns.Add(listCol);

}
}

catch { }


Вернуться в ADO.NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13

    TopList