您需要手动添加列。我从我的一个应用程序中获取了这个示例代码。它从SQL查询每列的格式并将其存储在xgrid1和xgrid2中。一个是列的名称,另一个是显示名称。 xgrid3是我的列的大小,xgrid4是列的对齐方式。使用任何适合你。一旦你有了你的列设置,然后运行你的查询并使用循环将行添加到网格。你不能在你的情况下使用数据源。
使用这种设置网格
DG_Clients.Columns.Clear()
DG_Clients.RowHeadersVisible = False
For xcount = 0 To xgrid1.Length - 1
DG_Clients.Columns.Add(xgrid2(xcount), xgrid1(xcount))
DG_Clients.Columns(DG_Clients.Columns.Count - 1).Width = xgrid3(xcount)
Select Case xgrid4(xcount)
Case "L"
DG_Clients.Columns(DG_Clients.Columns.Count - 1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft
DG_Clients.Columns(DG_Clients.Columns.Count - 1).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleLeft
Case "R"
DG_Clients.Columns(DG_Clients.Columns.Count - 1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
DG_Clients.Columns(DG_Clients.Columns.Count - 1).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
Case "C"
DG_Clients.Columns(DG_Clients.Columns.Count - 1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
DG_Clients.Columns(DG_Clients.Columns.Count - 1).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
End Select
Next
,并以此来增加它
Dim xRow As DataRow
Dim xProvince As String
For Each dRow As DataRow In DBAcc.DBDT.Rows
Dim xlist(DG_Clients.Columns.Count - 1) As String
For xcount = 0 To xgrid1.Length - 1
Select Case xgrid2(xcount)
Case "Sex"
If dRow(xgrid2(xcount)) = 0 Then xlist(xcount) = "Male" Else xlist(xcount) = "Female"
Case "Province"
Select Case dRow(xgrid2(xcount))
Case 0
xProvince = "QC"
Case 1
xProvince = "On"
Case 2
xProvince = "NS"
Case 3
xProvince = "PEI"
Case 4
xProvince = "NF"
Case 5
xProvince = "MB"
Case 6
xProvince = "SK"
Case 7
xProvince = "AB"
Case 8
xProvince = "BC"
Case 9
xProvince = "NU"
End Select
xlist(xcount) = xProvince
Case Else
xlist(xcount) = dRow(xgrid2(xcount))
End Select
Next
DG_Clients.Rows.Add(xlist)
Next
可以绑定一个'DataTable'到'DataGridView'。您需要决定如何填充“DataTable”。如果您想要在数据库中连接8个表的查询来完成此操作,那么请尽量采取这种做法。 – jmcilhinney
听起来像一个错误的数据库设计。 “候选人”的一张桌子上有一个字段,表明他们正在跑步的位置是你需要的。数据库模式是关于*关系* – Plutonix