DataGridView comboboxcolumn динамическое связывание - PullRequest
0 голосов
/ 07 февраля 2011

Я создаю довольно простой редактор таблиц для БД SQL Server в C #; в основном немного похоже на старые формы, которые использовались в MS Access для редактирования таблиц.

Пока у меня есть поле со списком в форме, где вы выбираете таблицу, которую вы хотите редактировать, и затем представление таблицы данных, которое показывает таблицу, которая была выбрана в списке.

Я хочу добавить comboboxcolumns во время выполнения в зависимости от того, имеет ли столбец связь или нет , чтобы пользователь мог видеть значение, которое он выбирает, а не только идентификатор.

Так что в принципе я не знаю, где должны находиться столбцы со списком (или с какими данными они должны быть связаны), пока пользователь не выберет таблицу. Следовательно, это должно быть сделано в коде во время выполнения.

Пока что я заполняю сетку данных, используя:

String connectionString = sConnection;
dataAdapter = new SqlDataAdapter(selectCommand, connectionString);
SqlCommandBuilder commandBuilder = new SqlCommandBuilder(dataAdapter);
// Populate a new data table and bind it to the BindingSource.
DataTable table = new DataTable();
table.Locale = System.Globalization.CultureInfo.InvariantCulture;
dataAdapter.Fill(table);
bindingSource2.DataSource = table; 

Так что я предполагаю, что мой маршрут будет выглядеть примерно так: заполните dgv, переберите столбцы, ища что-нибудь с отношением (как мне это сделать?!?), Затем измените тип на comboboxcolumn, а затем измените свойства displaymember и valuemember для него, какими бы они ни были (что мне нужно откуда-то получить ... как ???)

Может ли кто-нибудь подсунуть мне какой-нибудь код, чтобы указать мне правильное направление?

Спасибо

1 Ответ

0 голосов
/ 07 февраля 2011

это возможно: допустим, у вас есть таблицы Employee и Department, вы можете узнать, что deptId в таблице Employee имеет FK для Department.DeptId, хорошо, тогда вы можете получить все столбцы таблицы Department.

о том, как найти интересующий вас FK (для выбранной в данный момент таблицы), в Google для него, например, я нашел следующее: http://blog.sqlauthority.com/2007/09/04/sql-server-2005-find-tables-with-foreign-key-constraint-in-database

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...