具有外键的DataGridView BindingDataSource

本文关键字:DataGridView BindingDataSource | 更新日期: 2023-09-27 18:20:54

我有一个绑定到自定义业务对象的BindingList<T>DataGridView,其中包含字段DeckID、Name、UserID、Size和Notes。

这是通过IDataReader对象从MSSQL数据库调用的。现在,我的问题是UserID是一个整数,在我的数据库中,它是一个名为SystemUser的表的外键,带有Username字段
我想做的是从数据库中的SystemUser表中获取Username,并根据任何UserID显示该名称。这在WebForms中非常容易,使用GridView,但在WindowsForms应用程序中就不那么容易了。

具有外键的DataGridView BindingDataSource

我想我明白你在找什么了。从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;

现在,您可以进行下一次数据库调用来检索外键对象并更新您想要的任何GUI对象。祝你好运