How do I populate specific columns of a datagrid view from as list object


I know how to populate a datagridiew via a list object by setting its datasource to the list object as in
mydatagridview.datasource = mylist

However, I've now created a datagridview by adding the following columns at design time.  The name and Description columns are populated by the listobject. I want to allow the user to be able to enter data in the Sheet ID and to view details via the view details button located in the ViewDetails column of the datagridview.  
1. I'm not sure how to assign the name and description returned by list object to the correct column and how to permit the user to be able to make changes in a specific column of a datagrid view
Export (checkbox)
ViewDetail (button)
Who is Participating?
John (Yiannis) ToutountzoglouConnect With a Mentor Instructor Multiengine PilotCommented:
you can reffer to a Cell value like this
Now about your button column try this

Private WithEvents frm as Form
Private Sub MyDataGridView_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles MyDataGridView.CellClick
            Dim row As DataGridViewRow
            For Each row In Me.MyDataGridView.Rows
                If Not row.IsNewRow Then
                    If e.ColumnIndex >= 0 Then
                        If MyDataGridView.Columns(e.ColumnIndex).Name = _
                    "ButtonColumn" Then
                     If frm Is Nothing Then
                                frm = New DetailsForm
                                frm.StartPosition = FormStartPosition......
                                frm.FormBorderStyle = Windows.Forms.FormBorderStyle.None

                            End If

                           End if
                    End If
                End If
        Catch ex As Exception
        End Try

    End Sub

Open in new window

chtullu135Author Commented:
I kept at it and came up with this solution which seems to work.  However, I will be giving you credit for code you came up with.  It'll prove usefull and I thank you again for your help
Private Sub PopulateSelectTab()
        Dim retrievedTabList As New List(Of DatasetGroup)

            dgvDatasetGroups.DataSource = DataSetGroupDB.GetDatasetGroupList
            Dim buttons As New DataGridViewButtonColumn()
            With buttons
                .HeaderText = "ViewDetails"
                .Text = "ViewDetails"
                .Name = "Details"
                .UseColumnTextForButtonValue = True
                .AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells
                .FlatStyle = FlatStyle.Standard

                .DisplayIndex = 0
            End With
            Dim checkboxes As New DataGridViewCheckBoxColumn
            With checkboxes
                .HeaderText = "Export"
                .Name = "Export"
                .AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells
                .FlatStyle = FlatStyle.Standard
                .DisplayIndex = 1
            End With

            dgvDatasetGroups.Columns(0).Visible = False
            dgvDatasetGroups.Columns(4).Visible = False
            dgvDatasetGroups.Columns(5).Visible = False
            dgvDatasetGroups.Columns(6).Visible = False
            dgvDatasetGroups.Columns(0).ReadOnly = True
            dgvDatasetGroups.Columns(1).ReadOnly = True
            dgvDatasetGroups.Columns(2).ReadOnly = True
            dgvDatasetGroups.Columns(4).ReadOnly = True
            dgvDatasetGroups.Columns(5).ReadOnly = True
            dgvDatasetGroups.Columns(6).ReadOnly = True

        Catch ex As Exception
            MessageBox.Show(ex.Message, ex.GetType.ToString)
        End Try

    End Sub

Open in new window

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.