Solved

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

Posted on 2010-08-30
2
469 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 500 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

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Suggested Solutions

The ECB site provides FX rates for major currencies since its inception in 1999 in the form of an XML feed. The files have the following format (reducted for brevity) (CODE) There are three files available HERE (http://www.ecb.europa.eu/stats/exch…
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.

756 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