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

Posted on 2010-08-30
Last Modified: 2012-05-10

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)
Question by:chtullu135
LVL 18

Accepted Solution

John (Yiannis) Toutountzoglou earned 500 total points
Comment Utility
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


Author Comment

Comment Utility
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


Featured Post

What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

Microsoft Reports are based on a report definition, which is an XML file that describes data and layout for the report, with a different extension. You can create a client-side report definition language (*.rdlc) file with Visual Studio, and build g…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor ( If you're looking for how to monitor bandwidth using netflow or packet s…
You have products, that come in variants and want to set different prices for them? Watch this micro tutorial that describes how to configure prices for Magento super attributes. Assigning simple products to configurable: We assigned simple products…

771 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now