クラスの VB で .NET 3.5 プログラミングを行っています。関連する 3 つのテーブルを含む .mdb データベースと、次のようないくつかのクエリを含むテーブル アダプターがあります。
SELECT PropertyID, Street, Unit, City, Zip, Type, Bedrooms, Bathrooms, Area, MonthlyRent
FROM tblProperties
次に、フォームに DataGridView があります。私がやりたいことは、クエリから返されたデータを取得して DGV に表示することです。ただし、これを行うと、選択した10列ではなく、データベース内の35列すべてが表示されます(ただし、データが含まれているのは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 は、ロード時に選択された DataSource を持たない DataGridView です