Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

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

Posted on 2010-08-30
2
Medium Priority
?
489 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
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

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

Question has a verified solution.

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

This tutorial demonstrates one way to create an application that runs without any Forms but still has a GUI presence via an Icon in the System Tray. The magic lies in Inheriting from the ApplicationContext Class and passing that to Application.Ru…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
This course is ideal for IT System Administrators working with VMware vSphere and its associated products in their company infrastructure. This course teaches you how to install and maintain this virtualization technology to store data, prevent vuln…
Want to learn how to record your desktop screen without having to use an outside camera. Click on this video and learn how to use the cool google extension called "Screencastify"! Step 1: Open a new google tab Step 2: Go to the left hand upper corn…

963 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