DataGridView BindingDataSource с внешним ключом - PullRequest
1 голос
/ 18 января 2012

У меня есть DataGridView, который связан с BindingList<T> пользовательского бизнес-объекта с полями DeckID, Name, UserID, Size и Notes.

Это вызывается из базы данных MSSQL через объект IDataReader.Теперь моя проблема состоит в том, что UserID - это целое число, которое в моей базе данных является внешним ключом для таблицы с именем SystemUser с полем Имя пользователя.
Что я хочу сделать, это получить имя пользователя из таблицы SystemUser в моей базе данныхи отобразите это, основываясь на любом идентификаторе пользователя, отобразите это имя.Все это было очень легко в WebForms, используя GridView, но не так сильно в WindowsForms приложении.

1 Ответ

0 голосов
/ 19 января 2012

Мне кажется, я вижу то, что вы ищете. Из экземпляра DataGridView получите выбранный элемент, используя событие, подобное onSelectionChange. Следующее использование:

var selectedItem = datagridviewinstance.SelectedRows[x].DataBoundItem as YourTypeHere
var data = (from a in SOMETHING where fk == selectedItem.ForeignKeyProperty select a);
textbox1.Text = data.text;

Теперь вы можете сделать следующий вызов базы данных, чтобы получить объект внешнего ключа и обновить любой объект графического интерфейса, который вы пожелаете. Удачи!

...