1

我在 VB.NET 中有一个三层 Windows Forms DB 应用程序。我正在使用 VS 2005。

我想在 DataGridView 的表中显示记录。通过将 DataSource 绑定到与 DB 类对话的业务类,我已经可以按原样显示记录:

Dim assetList as List(Of Asset)
assetList = DB_Asset.GetAssetListOrderByID_Asset 
AssetDataGridView.DataSource = assetList

“资产”是我的业务类,“DB_Asset”是我的数据库类,它查询数据库以返回资产列表。

现在,Asset 有这样的成员:

Private m_ID_Asset As Integer
Private m_CategoryID As Integer
Private m_CustodianID As Integer
Private m_ManufacturerID As Integer
Private m_SignedOutToID As Integer
Private m_DefaultLocationID As Integer
Private m_CurrentLocationID As Integer
Private m_DateAcquired As Date
Private m_DateEntered As Date
Private m_EnteredByID As Integer

m_ID_Asset 包含 DB 中 Asset 表的主键,m_XXXXXXXXXID 形式的所有其他内容包含 DB 中另一个表的外键。

所以基本上我现在得到的是有很多数字的行。这正是资产表中的内容:

ID_Asset  CategoryID  CustodianID  ManufacturerID  SignedOutToID
   1           17          23            14              5

我想知道的是是否有一种简单的方法来显示我用所有这些外键链接到的文本字段:

ID_Asset  CategoryName  CustodianName  Manufacturer  SignedOutTo
   1       Soda - Diet      John       Coca-Cola        Fred

这里有经验的人有什么技巧吗?

提前致谢!

4

1 回答 1

2

如果您有一个 List(Of Asset),那么您基本上只需更改您的查询 DB_Asset.GetAssetListOrderByID_Asset,这样您就可以在那里进行所需的连接并将该属性中的值分配给assetList。

您可能希望将 m_CustomerName As String 之类的内容添加到您的 Asset 类中,以及您将要检索的任何其他内容,以便您可以放置​​数据。

如果您无法更改您的资产类,您可能希望在它周围包装一些东西,以便在绑定之前为您获取所有这些字符串。

于 2009-05-08T03:08:46.637 回答