Я занимаюсь программированием на .NET 3.5 в VB для класса. У меня есть база данных .mdb с 3 связанными таблицами и адаптер таблицы с некоторыми запросами, которые выглядят так:
SELECT PropertyID, Street, Unit, City, Zip, Type, Bedrooms, Bathrooms, Area, MonthlyRent
FROM tblProperties
Тогда в форме у меня есть DataGridView. Что я хочу сделать, это взять данные, которые возвращаются из запроса и отобразить их в DGV. Однако, когда я делаю это, он отображает все 35 столбцов в базе данных, а не 10, которые я выбрал (однако, десять - единственные, в которых есть данные ... так что это в основном таблица с кучей пустых столбцов).
Мое текущее, не элегантное решение состоит в том, чтобы вернуть запрос в DataTable, а затем перебрать столбцы таблицы, удаляя тот, который мне не нужен. Это не надежно, эффективно, и мне не нравится удалять столбец первичного ключа.
Мой ТА предложил попробовать использовать нетипизированную привязку данных ... он сказал, что это должно отображать только те данные, которые я извлекаю, но никто из нас еще не смог выяснить это.
Спасибо!
UPDATE
Я не уверен, что вы подразумеваете под страницами .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, для которого не выбран источник данных, выбранный при загрузке