I have a datagridview that uses a SQL query as the data source. The last column of the datagridview is a checkbox column. The code to generate the window is this:
Dim cmd As SqlClient.SqlCommand = New SqlClient.SqlCommand
cmd.Connection = cn
cmd.CommandType = CommandType.Text
cmd.CommandText = "SELECT ORDER_NUMBER, LINE_NUMBER, QUANTITY, '' AS ADD_WINDOW FROM PCT_PROD_BATCHING WHERE STATUS = 0 ORDER BY ORDER_NUMBER, LINE_NUMBER"
cmd.CommandTimeout = 0
Dim dataAdapter As SqlDataAdapter = New SqlDataAdapter(cmd.CommandText, cn)
dataAdapter.SelectCommand.CommandTimeout = 0
Dim builder As SqlCommandBuilder = New SqlCommandBuilder(dataAdapter)
Dim table = New DataTable
table.Locale = System.Globalization.CultureInfo.InvariantCulture
dataAdapter.SelectCommand.CommandTimeout = 0
dgvAddWindow.AutoGenerateColumns = False
dgvAddWindow.Columns.Add(New DataGridViewTextBoxColumn With {.DataPropertyName = "ORDER_NUMBER", .Name = "Order Number"})
dgvAddWindow.Columns.Add(New DataGridViewTextBoxColumn With {.DataPropertyName = "LINE_NUMBER", .Name = "Line Number"})
dgvAddWindow.Columns.Add(New DataGridViewTextBoxColumn With {.DataPropertyName = "QUANTITY", .Name = "Quantity"})
dgvAddWindow.Columns.Add(New DataGridViewCheckBoxColumn With {.DataPropertyName = "ADD_WINDOW", .Name = "Add Window"})
dataAdapter.Fill(table)
AddWindowSource.DataSource = table
dgvAddWindow.DataSource = AddWindowSource
After selecting rows by checking the checkboxes, and then clicking a Process button, I need to do two things:
1. Count the number of checkboxes that have been checked.
2. For each checkbox that has been checked, run some other processes.
I know how to run the other processes, but I don't know how to cycle through the rows and see if the DataGridViewCheckBoxColumn is checked. Thanks for your help.
T
ASKER
Private Sub btnAdd_Click(sender As System.Object, e As System.EventArgs) Handles btnAdd.Click
For Each row As DataGridViewRow In dgvAddWindow.Rows
If Convert.ToBoolean(row.Cell
MsgBox("Checked")
Else
MsgBox("Not Checked")
End If
Next
Exit Sub
If the box is checked, I get the msgbox("Checked"), as expected. But if the box is unchecked I get the attached error.
T