我正在为一个类在 VB 中进行 .NET 3.5 编程。我有一个带有 3 个相关表的 .mdb 数据库,以及一个带有一些查询的表适配器,如下所示:
SELECT PropertyID, Street, Unit, City, Zip, Type, Bedrooms, Bathrooms, Area, MonthlyRent
FROM tblProperties
然后在一个表单中我有一个 DataGridView。我想要做的是获取从查询返回的数据并将其显示在 DGV 中。但是,当我这样做时,它会显示数据库中的所有 35 列,而不是我选择的 10 列(这 10 列是唯一有数据的列……所以它基本上是一个带有一堆空白列的表)。
我当前的不优雅的解决方案是将查询返回到 DataTable,然后遍历表的列,删除我不想要的列。这不健壮、高效,而且不喜欢我删除主键列。
我的 TA 建议尝试使用无类型数据绑定……他说这应该只显示我提取的数据,但我们都还没能弄清楚这一点。
谢谢你!
更新
我不确定 .aspx/.aspx.vb 页面是什么意思,但这是我从表适配器获得的查询代码
SELECT tblRent.PaymentID, tblTenant.TenantName, tblProperties.Street, tblProperties.Unit, tblProperties.City, tblRent.AmountPaid, tblRent.PaymentDate,
tblTenant.Telephone
FROM ((tblProperties INNER JOIN
tblRent ON tblProperties.PropertyID = tblRent.PropertyID) INNER JOIN
tblTenant ON tblProperties.PropertyID = tblTenant.PropertyID)
这是我在代码中使用它的地方:
Public Sub getRent()
propView.DataSource = TblPropertiesTableAdapter.GetAllRentReceipts()
propView.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells)
propView.ReadOnly = True
End Sub
propView 是一个 DataGridView,在加载时没有选择 DataSource