Celebrate National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

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

Posted on 2010-08-30
2
Medium Priority
?
483 Views
Last Modified: 2012-05-10
Hello,

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
Name
Description
SheetId
Export (checkbox)
ViewDetail (button)
0
Comment
Question by:chtullu135
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 18

Accepted Solution

by:
John (Yiannis) Toutountzoglou earned 2000 total points
ID: 33559946
you can reffer to a Cell value like this
1.Me.DatagridView.Rows(e.RowIndex).Cells("Name").FormattedValue
2.Me.DatagridView.Rows(e.RowIndex).Cells("Description").FormattedValue
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
        Try
            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
                                frm.Show()

                            End If
                            

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

    End Sub

Open in new window

0
 

Author Comment

by:chtullu135
ID: 33560026
Hello,
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)

        Try
            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
            dgvDatasetGroups.Columns.Add(buttons)
            Dim checkboxes As New DataGridViewCheckBoxColumn
            With checkboxes
                .HeaderText = "Export"
                .Name = "Export"
                .AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells
                .FlatStyle = FlatStyle.Standard
                .DisplayIndex = 1
            End With

            dgvDatasetGroups.Columns.Add(checkboxes)
            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

0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Since .Net 2.0, Visual Basic has made it easy to create a splash screen and set it via the "Splash Screen" drop down in the Project Properties.  A splash screen set in this manner is automatically created, displayed and closed by the framework itsel…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
This tutorial will teach you the special effect of super speed similar to the fictional character Wally West aka "The Flash" After Shake : http://www.videocopilot.net/presets/after_shake/ All lightning effects with instructions : http://www.mediaf…
How to fix incompatible JVM issue while installing Eclipse While installing Eclipse in windows, got one error like above and unable to proceed with the installation. This video describes how to successfully install Eclipse. How to solve incompa…

730 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