Solved

Combine rows in a DataGrid

Posted on 2009-05-08
2
216 Views
Last Modified: 2013-11-27
Hi Experts

I have a datagrid on my form that I populate from a Access database and I recently got some code from EE to combine rows with each other and also combine the text of that rows with each other. But this only works for the first column, and only if it is a text value. What I actually want to do is plus the other rows as well, witch are integers, and when I combine 2 rows it must delete one of the rows. Can any one please help me out here or give me some sample code or refer me to a useful website. Any help would be greatly appreciated

Thanx in advance
Dim result As String = String.Empty
 
        If (DataGridView1.SelectedCells.Count > 1) Then
 
 
            For Each cell As DataGridViewCell In Me.DataGridView1.SelectedCells
 
                result &= cell.Value.ToString & " & "
 
 
            Next
            result = result.Remove(result.Length - 2)
 
            Me.DataGridView1.SelectedCells(0).Value = result.ToString()
        End If

Open in new window

Before.JPG
After.JPG
0
Comment
Question by:Benvor
[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 12

Accepted Solution

by:
GuitarRich earned 500 total points
ID: 24334173
It looks to me like your only doing cells - you need to use the SelectedRows property so that you can do the whole row.
This should get you close:

        If (DataGridView1.SelectedRows.Count > 1) Then
 
            For i As Integer = 0 To Me.DataGridView1.SelectedRows(0).Cells.Count - 1
                Me.DataGridView1.SelectedRows(0).Cells(i).Value += " & " + Me.DataGridView1.SelectedRows(1).Cells(i).Value
            Next
 
            DataGridView1.Rows.Remove(Me.DataGridView1.SelectedRows(1))
        End If

Open in new window

0
 

Author Comment

by:Benvor
ID: 24334276
Thanx allot GuitarRich. I just had to put this IF in to combine the cells that are Integer. Here is the final code to combine rows in a datagrid.
        If (DataGridView1.SelectedRows.Count > 1) Then
 
            For i As Integer = 0 To Me.DataGridView1.SelectedRows(0).Cells.Count - 1
                If IsNumeric(Me.DataGridView1.SelectedRows(0).Cells(i).Value) Then
                    Me.DataGridView1.SelectedRows(0).Cells(i).Value += Me.DataGridView1.SelectedRows(1).Cells(i).Value
                Else
                    Me.DataGridView1.SelectedRows(0).Cells(i).Value += " & " + Me.DataGridView1.SelectedRows(1).Cells(i).Value
                End If
                'Me.DataGridView1.SelectedRows(0).Cells(i).Value += " & " + Me.DataGridView1.SelectedRows(1).Cells(i).Value
            Next
 
            DataGridView1.Rows.Remove(Me.DataGridView1.SelectedRows(1))
        End If

Open in new window

0

Featured Post

SharePoint Admin?

Enable Your Employees To Focus On The Core With Intuitive Onscreen Guidance That is With You At The Moment of Need.

Question has a verified solution.

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

Suggested Solutions

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.
It was really hard time for me to get the understanding of Delegates in C#. I went through many websites and articles but I found them very clumsy. After going through those sites, I noted down the points in a easy way so here I am sharing that unde…
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…

734 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