I am working on creating a DGV dynamically and I'm having a problem in that it is creating an extra column. The weird thing is that the extra column is the 1st column. The logic that I'm using is only for TEST purposes. It will get cleaned up once I figure this out. Here is my code below.
Thanks for the help!
Code:
Private Sub LoadGrid()
Try
Dim rowResult As Decimal
Dim rowVal As Decimal = 3.0
Dim rowCnt As Integer = 1
With dgvStandardTestData
.Font = New Font("Calibri", 9, FontStyle.Regular)
.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
.ColumnHeadersVisible = True
.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
.AllowUserToResizeRows = False
.AllowUserToAddRows = False
.AllowUserToDeleteRows = True
.AllowUserToOrderColumns = False
.RowTemplate.Height = 14
.RowHeadersVisible = True
End With
dgvStandardTestData.RowCount = 10
For x As Integer = 0 To 12
Dim col As New DataGridViewColumn
Select Case x
Case 0
Dim cell1 As New DataGridViewTextBoxCell
col.CellTemplate = cell1
col.HeaderText = "Point"
col.Width = 80
dgvStandardTestData.Columns.Add(col)
Case 1
Dim cell2 As New DataGridViewTextBoxCell
col.CellTemplate = cell2
col.HeaderText = "First Zero"
col.Width = 80
dgvStandardTestData.Columns.Add(col)
Case 2
Dim cell3 As New DataGridViewTextBoxCell
col.CellTemplate = cell3
col.HeaderText = "Rin"
col.Width = 80
dgvStandardTestData.Columns.Add(col)
Case 3
Dim cell4 As New DataGridViewTextBoxCell
col.CellTemplate = cell4
col.HeaderText = "Rout"
col.Width = 80
dgvStandardTestData.Columns.Add(col)
Case 4
Dim cell5 As New DataGridViewTextBoxCell
col.CellTemplate = cell5
col.HeaderText = "10# Load"
col.Width = 80
dgvStandardTestData.Columns.Add(col)
Case 5
Dim cell6 As New DataGridViewTextBoxCell
col.CellTemplate = cell6
col.HeaderText = "20# Load"
col.Width = 80
dgvStandardTestData.Columns.Add(col)
Case 6
Dim cell7 As New DataGridViewTextBoxCell
col.CellTemplate = cell7
col.HeaderText = "30# Load"
col.Width = 80
dgvStandardTestData.Columns.Add(col)
Case 7
Dim cell8 As New DataGridViewTextBoxCell
col.CellTemplate = cell8
col.HeaderText = "40# Load"
col.Width = 80
dgvStandardTestData.Columns.Add(col)
Case 8
Dim cell9 As New DataGridViewTextBoxCell
col.CellTemplate = cell9
col.HeaderText = "50# Load"
col.Width = 80
dgvStandardTestData.Columns.Add(col)
Case 9
Dim cell10 As New DataGridViewTextBoxCell
col.CellTemplate = cell10
col.HeaderText = "Output (mV/V)"
col.Width = 95
dgvStandardTestData.Columns.Add(col)
Case 10
Dim cell11 As New DataGridViewTextBoxCell
col.CellTemplate = cell11
col.HeaderText = "Last Zero"
col.Width = 85
dgvStandardTestData.Columns.Add(col)
Case 11
Dim cell12 As New DataGridViewTextBoxCell
col.CellTemplate = cell12
col.HeaderText = "% NonLin"
col.Width = 85
dgvStandardTestData.Columns.Add(col)
Case 12
Dim cell12 As New DataGridViewTextBoxCell
col.CellTemplate = cell12
col.HeaderText = "% Hyster"
col.Width = 85
dgvStandardTestData.Columns.Add(col)
End Select
Next
For Each row1 As DataGridViewRow In dgvStandardTestData.Rows
For x As Integer = 0 To dgvStandardTestData.ColumnCount - 1
If x = 1 Then
row1.Cells(x).Value = rowCnt
Else
rowResult = rowVal / 1000
row1.Cells(x).Value = Format(rowResult, "0.0000")
rowResult = rowVal - 750
End If
Next
rowCnt += 1
rowVal = 5
Next
Catch ex As Exception
strErr = gfrmID & "/LoadGrid() - " & ex.Message
MessageBox.Show(strErr, "User Notification", MessageBoxButtons.OK)
End Try
End Sub