DataGridView: using a loop of selected items rather than currentrow
First real time working with a datagridview (Model_dgv) and at this point I have a loop cycling through all the selected cells. Ideally, each cell will have information from one of the columns added to a textbox. Currently, instead of referencing the object "model" as set up in the loop, I am adding based off of my current row, so obviously I am not getting all of the items, but the most recent selection repeated N times (with N = model_dgv.selectedcells.count)
Code:
For Each model In Model_dgv.SelectedCells
'if it's different add it (so '' becomes SERIES1; SERIES1 remains SERIES1, SERIES2 becomes SERIES2; SERIES1)
If lvl1_tb.Text <> Model_dgv.Item("Model Lvl1", Model_dgv.CurrentRow.Index).Value.ToString.Trim Then
lvl1_tb.Text &= Model_dgv.Item("Model Lvl1", Model_dgv.CurrentRow.Index).Value.ToString.Trim
End If
...
simply, I don't know enough about DGV to know how to write the line to call the cell based on the loop rather than the current selection. Any thoughts/comments? Places to start and research.
Re: DataGridView: using a loop of selected items rather than currentrow
Re: DataGridView: using a loop of selected items rather than currentrow
EDIT: slight correction to the if statement
I haven't tested it, but try this:
Code:
For Each row As DataGridViewRow In Model_dgv.SelectedRows
If Not InStr(lvl1_tb.Text, row.Cells.Item("Model Lvl1").Value.ToString.Trim) Then
lvl1_tb.Text &= row.Cells.Item("Model Lvl1").Value.ToString.Trim
End If
Next
This should loop through the selected rows, check to see if the value is already part of lvl1_tb.Text and if not then add the value.
NOTE: The compare is case sensitive as it is written.
Re: DataGridView: using a loop of selected items rather than currentrow
Your duplicate thread has been merged with this one.
Re: DataGridView: using a loop of selected items rather than currentrow
Quote:
Originally Posted by
ichthuso1
First real time working with a datagridview (Model_dgv) and at this point I have a loop cycling through all the selected cells. Ideally, each cell will have information from one of the columns added to a textbox. Currently, instead of referencing the object "model" as set up in the loop, I am adding based off of my current row, so obviously I am not getting all of the items, but the most recent selection repeated N times (with N = model_dgv.selectedcells.count)
Code:
For Each model In Model_dgv.SelectedCells
'if it's different add it (so '' becomes SERIES1; SERIES1 remains SERIES1, SERIES2 becomes SERIES2; SERIES1)
If lvl1_tb.Text <> Model_dgv.Item("Model Lvl1", Model_dgv.CurrentRow.Index).Value.ToString.Trim Then
lvl1_tb.Text &= Model_dgv.Item("Model Lvl1", Model_dgv.CurrentRow.Index).Value.ToString.Trim
End If
...
simply, I don't know enough about DGV to know how to write the line to call the cell based on the loop rather than the current selection. Any thoughts/comments? Places to start and research.
From what I understand, you're just having issues looping through all the cells in the datagridview control? So this is all you need help with?
Here's an example I've put together for you:
vbnet Code:
For Each DataRow As DataGridViewRow In DataGridView1.Rows
For Each DataCell As DataGridViewCell In DataRow.Cells
'Do something with DataCell here
Next
Next
You can also use LINQ to retrieve data, if that's the purpose for looping through each cell.