vb.net中dataGridView的单元格的合并

时间:2022-09-16 14:48:25
vb.net中dataGridView的单元格的合并

对于下面的表格数据,我们经常会见到,

20090601 00001 100 abc 1 sumisu
20080601 00001 120 abc 1 yasio
20070601 00001 150 def 1 toms
20050601 00001 190 efg 1 arabama


但有时候我们希望将同一列中内容相同的单元格合并,变成下面这样:
20090601 00001 100 abc 1 sumisu
20080601 120 yasio
20070601 150 def toms
20050601 190 efg arabama

那么该如何实现呢?
在网上调查了很多方法,也请教了很多人,虽然有一些解决方法,但都不是最理想的。
偶尔下载到一个例子,很漂亮地实现了这个功能,不过是C#的,于是我花了不少时间,终于将她用VB.net实现了,在这里与各位分享。

vb.net中dataGridView的单元格的合并Imports System
vb.net中dataGridView的单元格的合并
Imports System.Collections.Generic
vb.net中dataGridView的单元格的合并
Imports System.ComponentModel
vb.net中dataGridView的单元格的合并
Imports System.Data
vb.net中dataGridView的单元格的合并
Imports System.Drawing
vb.net中dataGridView的单元格的合并
Imports System.Drawing.Design
vb.net中dataGridView的单元格的合并
Imports System.Text
vb.net中dataGridView的单元格的合并
Imports System.Windows.Forms
vb.net中dataGridView的单元格的合并
Imports System.Collections
vb.net中dataGridView的单元格的合并
Imports System.Reflection
vb.net中dataGridView的单元格的合并
Imports System.Runtime.InteropServices
vb.net中dataGridView的单元格的合并
vb.net中dataGridView的单元格的合并vb.net中dataGridView的单元格的合并
Public Class RowMergeViewClass RowMergeView
vb.net中dataGridView的单元格的合并    
Inherits DataGridView
vb.net中dataGridView的单元格的合并
vb.net中dataGridView的单元格的合并vb.net中dataGridView的单元格的合并    
Protected Overrides Sub OnCellPainting()Sub OnCellPainting(ByVal e As DataGridViewCellPaintingEventArgs)
vb.net中dataGridView的单元格的合并
vb.net中dataGridView的单元格的合并        
If e.RowIndex > -1 And e.ColumnIndex > -1 Then
vb.net中dataGridView的单元格的合并            DrawCell(e)
vb.net中dataGridView的单元格的合并        
End If
vb.net中dataGridView的单元格的合并
vb.net中dataGridView的单元格的合并    
End Sub

vb.net中dataGridView的单元格的合并
vb.net中dataGridView的单元格的合并    
'/ <summary>
vb.net中dataGridView的单元格的合并
    '/ DrawCell
vb.net中dataGridView的单元格的合并
    '/ </summary>
vb.net中dataGridView的单元格的合并
    '/ <param name="e"></param>
vb.net中dataGridView的单元格的合并vb.net中dataGridView的单元格的合并
    Private Sub DrawCell()Sub DrawCell(ByVal e As DataGridViewCellPaintingEventArgs)
vb.net中dataGridView的单元格的合并        
If e.CellStyle.Alignment = DataGridViewContentAlignment.NotSet Then
vb.net中dataGridView的单元格的合并            e.CellStyle.Alignment 
= DataGridViewContentAlignment.MiddleCenter
vb.net中dataGridView的单元格的合并        
End If
vb.net中dataGridView的单元格的合并        
Dim gridBrush As Brush = New SolidBrush(Me.GridColor)
vb.net中dataGridView的单元格的合并        
'Dim backBrush As SolidBrush = New SolidBrush(e.CellStyle.BackColor)
vb.net中dataGridView的单元格的合并
        Dim backBrush As SolidBrush = New SolidBrush(Color.White)
vb.net中dataGridView的单元格的合并        
Dim fontBrush As SolidBrush = New SolidBrush(e.CellStyle.ForeColor)
vb.net中dataGridView的单元格的合并        
Dim cellwidth As Integer
vb.net中dataGridView的单元格的合并        
Dim UpRows As Integer = 0
vb.net中dataGridView的单元格的合并        
Dim DownRows As Integer = 0
vb.net中dataGridView的单元格的合并        
Dim count As Integer = 0
vb.net中dataGridView的单元格的合并        
If Me.MergeColumnNames.Contains(Me.Columns(e.ColumnIndex).Name) And e.RowIndex <> -1 Then
vb.net中dataGridView的单元格的合并            cellwidth 
= e.CellBounds.Width
vb.net中dataGridView的单元格的合并            
Dim gridLinePen As Pen = New Pen(gridBrush)
vb.net中dataGridView的单元格的合并            
Dim curValue As String = CType(e.Value, String)
vb.net中dataGridView的单元格的合并            
IIf(curValue Is Nothing"", e.Value.ToString().Trim())
vb.net中dataGridView的单元格的合并            
Dim curSelected As String = CType(Me.CurrentRow.Cells(e.ColumnIndex).Value, String)
vb.net中dataGridView的单元格的合并            
IIf(curSelected Is Nothing""Me.CurrentRow.Cells(e.ColumnIndex).Value.ToString().Trim())
vb.net中dataGridView的单元格的合并            
'If Not String.IsNullOrEmpty(curValue) Then
vb.net中dataGridView的单元格的合并
            Dim i As Integer
vb.net中dataGridView的单元格的合并            
For i = e.RowIndex To Me.Rows.Count - 1 Step i + 1
vb.net中dataGridView的单元格的合并                
If Me.Rows(i).Cells(e.ColumnIndex).Value.ToString().Equals(curValue) Then
vb.net中dataGridView的单元格的合并
vb.net中dataGridView的单元格的合并                    DownRows 
= DownRows + 1
vb.net中dataGridView的单元格的合并                    
If e.RowIndex <> i Then
vb.net中dataGridView的单元格的合并                        cellwidth 
= cellwidth
vb.net中dataGridView的单元格的合并                        
IIf(cellwidth < Me.Rows(i).Cells(e.ColumnIndex).Size.Width, cellwidth, Me.Rows(i).Cells(e.ColumnIndex).Size.Width)
vb.net中dataGridView的单元格的合并                    
End If
vb.net中dataGridView的单元格的合并                
Else
vb.net中dataGridView的单元格的合并                    
Exit For
vb.net中dataGridView的单元格的合并                
End If
vb.net中dataGridView的单元格的合并            
Next
vb.net中dataGridView的单元格的合并
vb.net中dataGridView的单元格的合并            
Dim j As Integer
vb.net中dataGridView的单元格的合并            
For j = e.RowIndex To 0 Step j - 1
vb.net中dataGridView的单元格的合并                
If Me.Rows(j).Cells(e.ColumnIndex).Value.ToString().Equals(curValue) Then
vb.net中dataGridView的单元格的合并
vb.net中dataGridView的单元格的合并                    UpRows 
= UpRows + 1
vb.net中dataGridView的单元格的合并                    
If e.RowIndex <> j Then
vb.net中dataGridView的单元格的合并                        cellwidth 
= cellwidth
vb.net中dataGridView的单元格的合并                        
IIf(cellwidth < Me.Rows(j).Cells(e.ColumnIndex).Size.Width, cellwidth, Me.Rows(j).Cells(e.ColumnIndex).Size.Width)
vb.net中dataGridView的单元格的合并                    
End If
vb.net中dataGridView的单元格的合并                
Else
vb.net中dataGridView的单元格的合并                    
Exit For
vb.net中dataGridView的单元格的合并                
End If
vb.net中dataGridView的单元格的合并            
Next
vb.net中dataGridView的单元格的合并
vb.net中dataGridView的单元格的合并            count 
= DownRows + UpRows - 1
vb.net中dataGridView的单元格的合并            
If count < 2 Then
vb.net中dataGridView的单元格的合并                
Return
vb.net中dataGridView的单元格的合并            
End If
vb.net中dataGridView的单元格的合并            
'End If
vb.net中dataGridView的单元格的合并
            If Me.Rows(e.RowIndex).Selected Then
vb.net中dataGridView的单元格的合并                backBrush.Color 
= e.CellStyle.SelectionBackColor
vb.net中dataGridView的单元格的合并                fontBrush.Color 
= e.CellStyle.SelectionForeColor
vb.net中dataGridView的单元格的合并            
End If
vb.net中dataGridView的单元格的合并
vb.net中dataGridView的单元格的合并            e.Graphics.FillRectangle(backBrush, e.CellBounds)
vb.net中dataGridView的单元格的合并
vb.net中dataGridView的单元格的合并            PaintingFont(e, cellwidth, UpRows, DownRows, count)
vb.net中dataGridView的单元格的合并            
If DownRows = 1 Then
vb.net中dataGridView的单元格的合并                e.Graphics.DrawLine(gridLinePen, e.CellBounds.Left, e.CellBounds.Bottom 
- 1, e.CellBounds.Right - 1, e.CellBounds.Bottom - 1)
vb.net中dataGridView的单元格的合并                count 
= 0
vb.net中dataGridView的单元格的合并            
End If
vb.net中dataGridView的单元格的合并
vb.net中dataGridView的单元格的合并            e.Graphics.DrawLine(gridLinePen, e.CellBounds.Right 
- 1, e.CellBounds.Top, e.CellBounds.Right - 1, e.CellBounds.Bottom - 1)
vb.net中dataGridView的单元格的合并
vb.net中dataGridView的单元格的合并            e.Handled 
= True
vb.net中dataGridView的单元格的合并        
End If
vb.net中dataGridView的单元格的合并    
End Sub

vb.net中dataGridView的单元格的合并
vb.net中dataGridView的单元格的合并    
'/ <summary>
vb.net中dataGridView的单元格的合并
    '/ PaintingFont
vb.net中dataGridView的单元格的合并
    '/ </summary>
vb.net中dataGridView的单元格的合并vb.net中dataGridView的单元格的合并
    Private Sub PaintingFont()Sub PaintingFont(ByVal e As System.Windows.Forms.DataGridViewCellPaintingEventArgs, ByVal cellwidth As IntegerByVal UpRows As IntegerByVal DownRows As IntegerByVal count As Integer)
vb.net中dataGridView的单元格的合并        
Dim fontBrush As SolidBrush = New SolidBrush(e.CellStyle.ForeColor)
vb.net中dataGridView的单元格的合并        
Dim fontheight As Integer = CType(e.Graphics.MeasureString(e.Value.ToString(), e.CellStyle.Font).Height, Integer)
vb.net中dataGridView的单元格的合并        
Dim fontwidth As Integer = CType(e.Graphics.MeasureString(e.Value.ToString(), e.CellStyle.Font).Width, Integer)
vb.net中dataGridView的单元格的合并        
Dim cellheight As Integer = e.CellBounds.Height
vb.net中dataGridView的单元格的合并
vb.net中dataGridView的单元格的合并        
If e.CellStyle.Alignment = DataGridViewContentAlignment.BottomCenter Then
vb.net中dataGridView的单元格的合并            e.Graphics.DrawString(
CType(e.Value, String), e.CellStyle.Font, fontBrush, CType(e.CellBounds.X + (cellwidth - fontwidth) / 2Single), e.CellBounds.Y + cellheight * DownRows - fontheight)
vb.net中dataGridView的单元格的合并        
ElseIf e.CellStyle.Alignment = DataGridViewContentAlignment.BottomLeft Then
vb.net中dataGridView的单元格的合并            e.Graphics.DrawString(
CType(e.Value, String), e.CellStyle.Font, fontBrush, e.CellBounds.X, e.CellBounds.Y + cellheight * DownRows - fontheight)
vb.net中dataGridView的单元格的合并        
ElseIf e.CellStyle.Alignment = DataGridViewContentAlignment.BottomRight Then
vb.net中dataGridView的单元格的合并            e.Graphics.DrawString(
CType(e.Value, String), e.CellStyle.Font, fontBrush, e.CellBounds.X + cellwidth - fontwidth, e.CellBounds.Y + cellheight * DownRows - fontheight)
vb.net中dataGridView的单元格的合并        
ElseIf e.CellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter Then
vb.net中dataGridView的单元格的合并            e.Graphics.DrawString(
CType(e.Value, String), e.CellStyle.Font, fontBrush, CType(e.CellBounds.X + (cellwidth - fontwidth) / 2Single), CType(e.CellBounds.Y - cellheight * (UpRows - 1+ (cellheight * count - fontheight) / 2Single))
vb.net中dataGridView的单元格的合并        
ElseIf e.CellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft Then
vb.net中dataGridView的单元格的合并            e.Graphics.DrawString(
CType(e.Value, String), e.CellStyle.Font, fontBrush, e.CellBounds.X, CType(e.CellBounds.Y - cellheight * (UpRows - 1+ (cellheight * count - fontheight) / 2Single))
vb.net中dataGridView的单元格的合并        
ElseIf e.CellStyle.Alignment = DataGridViewContentAlignment.MiddleRight Then
vb.net中dataGridView的单元格的合并            e.Graphics.DrawString(
CType(e.Value, String), e.CellStyle.Font, fontBrush, e.CellBounds.X + cellwidth - fontwidth, CType(e.CellBounds.Y - cellheight * (UpRows - 1+ (cellheight * count - fontheight) / 2Single))
vb.net中dataGridView的单元格的合并        
ElseIf e.CellStyle.Alignment = DataGridViewContentAlignment.TopCenter Then
vb.net中dataGridView的单元格的合并            e.Graphics.DrawString(
CType(e.Value, String), e.CellStyle.Font, fontBrush, e.CellBounds.X + CType((cellwidth - fontwidth) / 2Single), e.CellBounds.Y - cellheight * (UpRows - 1))
vb.net中dataGridView的单元格的合并        
ElseIf e.CellStyle.Alignment = DataGridViewContentAlignment.TopLeft Then
vb.net中dataGridView的单元格的合并            e.Graphics.DrawString(
CType(e.Value, String), e.CellStyle.Font, fontBrush, e.CellBounds.X, e.CellBounds.Y - cellheight * (UpRows - 1))
vb.net中dataGridView的单元格的合并        
ElseIf e.CellStyle.Alignment = DataGridViewContentAlignment.TopRight Then
vb.net中dataGridView的单元格的合并            e.Graphics.DrawString(
CType(e.Value, String), e.CellStyle.Font, fontBrush, e.CellBounds.X + cellwidth - fontwidth, e.CellBounds.Y - cellheight * (UpRows - 1))
vb.net中dataGridView的单元格的合并        
Else
vb.net中dataGridView的单元格的合并            e.Graphics.DrawString(
CType(e.Value, String), e.CellStyle.Font, fontBrush, e.CellBounds.X + CType((cellwidth - fontwidth) / 2Single), CType(e.CellBounds.Y - cellheight * (UpRows - 1+ (cellheight * count - fontheight) / 2Single))
vb.net中dataGridView的单元格的合并        
End If
vb.net中dataGridView的单元格的合并    
End Sub

vb.net中dataGridView的单元格的合并
vb.net中dataGridView的单元格的合并    
'/ <summary>
vb.net中dataGridView的单元格的合并
    '/ MergeColumnNames
vb.net中dataGridView的单元格的合并
    '/ </summary>
vb.net中dataGridView的单元格的合并vb.net中dataGridView的单元格的合并
    Public Property MergeColumnNames()Property MergeColumnNames() As List(Of String)
vb.net中dataGridView的单元格的合并        
Get
vb.net中dataGridView的单元格的合并            
Return _mergecolumnname
vb.net中dataGridView的单元格的合并        
End Get
vb.net中dataGridView的单元格的合并        
Set(ByVal Value As List(Of String))
vb.net中dataGridView的单元格的合并            _mergecolumnname 
= Value
vb.net中dataGridView的单元格的合并        
End Set
vb.net中dataGridView的单元格的合并    
End Property

vb.net中dataGridView的单元格的合并    
Private _mergecolumnname As List(Of String= New List(Of String)()
vb.net中dataGridView的单元格的合并
vb.net中dataGridView的单元格的合并
End Class

vb.net中dataGridView的单元格的合并

vb.net中dataGridView的单元格的合并Imports System
vb.net中dataGridView的单元格的合并
Imports System.Collections.Generic
vb.net中dataGridView的单元格的合并
Imports System.ComponentModel
vb.net中dataGridView的单元格的合并
Imports System.Data
vb.net中dataGridView的单元格的合并
Imports System.Drawing
vb.net中dataGridView的单元格的合并
Imports System.Text
vb.net中dataGridView的单元格的合并
Imports System.Windows.Forms
vb.net中dataGridView的单元格的合并
vb.net中dataGridView的单元格的合并
vb.net中dataGridView的单元格的合并vb.net中dataGridView的单元格的合并
Public Class Form1Class Form1
vb.net中dataGridView的单元格的合并
vb.net中dataGridView的单元格的合并vb.net中dataGridView的单元格的合并    
Public Sub New()Sub New()
vb.net中dataGridView的单元格的合并        InitializeComponent()
vb.net中dataGridView的单元格的合并        
Dim dt As DataTable = New DataTable()
vb.net中dataGridView的单元格的合并        
Dim i As Integer
vb.net中dataGridView的单元格的合并        dt.Columns.Add(
"1")
vb.net中dataGridView的单元格的合并        dt.Columns.Add(
"2")
vb.net中dataGridView的单元格的合并        dt.Columns.Add(
"3")
vb.net中dataGridView的单元格的合并        dt.Columns.Add(
"4")
vb.net中dataGridView的单元格的合并        dt.Columns.Add(
"5")
vb.net中dataGridView的单元格的合并        dt.Columns.Add(
"6")
vb.net中dataGridView的单元格的合并        dt.Rows.Add(
"20090601""00001""100""abc""1""sumisu")
vb.net中dataGridView的单元格的合并        dt.Rows.Add(
"20080601""00001""120""abc""1""yasio")
vb.net中dataGridView的单元格的合并        dt.Rows.Add(
"20070601""00001""150""def""1""toms")
vb.net中dataGridView的单元格的合并        dt.Rows.Add(
"20050601""00001""190""efg""1""arabama")
vb.net中dataGridView的单元格的合并        
Me.rowMergeView1.DataSource = dt
vb.net中dataGridView的单元格的合并        
Me.rowMergeView1.ColumnHeadersHeight = 20
vb.net中dataGridView的单元格的合并        
Me.rowMergeView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing
vb.net中dataGridView的单元格的合并        
For i = 1 To dt.Columns.Count
vb.net中dataGridView的单元格的合并            
Me.rowMergeView1.MergeColumnNames.Add("Column" & i)
vb.net中dataGridView的单元格的合并        
Next
vb.net中dataGridView的单元格的合并    
End Sub

vb.net中dataGridView的单元格的合并
End Class

vb.net中dataGridView的单元格的合并

vb.net中dataGridView的单元格的合并<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
vb.net中dataGridView的单元格的合并vb.net中dataGridView的单元格的合并Partial 
Class Form1Class Form1
vb.net中dataGridView的单元格的合并    
Inherits System.Windows.Forms.Form
vb.net中dataGridView的单元格的合并
vb.net中dataGridView的单元格的合并    
'フォームがコンポーネントの一覧をクリーンアップするために dispose をオーバーライドします。
vb.net中dataGridView的单元格的合并
    <System.Diagnostics.DebuggerNonUserCode()> _
vb.net中dataGridView的单元格的合并vb.net中dataGridView的单元格的合并    
Protected Overrides Sub Dispose()Sub Dispose(ByVal disposing As Boolean)
vb.net中dataGridView的单元格的合并        
Try
vb.net中dataGridView的单元格的合并            
If disposing AndAlso components IsNot Nothing Then
vb.net中dataGridView的单元格的合并                components.Dispose()
vb.net中dataGridView的单元格的合并            
End If
vb.net中dataGridView的单元格的合并        
Finally
vb.net中dataGridView的单元格的合并            
MyBase.Dispose(disposing)
vb.net中dataGridView的单元格的合并        
End Try
vb.net中dataGridView的单元格的合并    
End Sub

vb.net中dataGridView的单元格的合并
vb.net中dataGridView的单元格的合并    
'Windows フォーム デザイナで必要です。
vb.net中dataGridView的单元格的合并
    Private components As System.ComponentModel.IContainer
vb.net中dataGridView的单元格的合并
vb.net中dataGridView的单元格的合并    
'メモ: 以下のプロシージャは Windows フォーム デザイナで必要です。
vb.net中dataGridView的单元格的合并
    'Windows フォーム デザイナを使用して変更できます。  
vb.net中dataGridView的单元格的合并
    'コード エディタを使って変更しないでください。
vb.net中dataGridView的单元格的合并
    <System.Diagnostics.DebuggerStepThrough()> _
vb.net中dataGridView的单元格的合并vb.net中dataGridView的单元格的合并    
Private Sub InitializeComponent()Sub InitializeComponent()
vb.net中dataGridView的单元格的合并        
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(Form1))
vb.net中dataGridView的单元格的合并        
Me.Panel1 = New System.Windows.Forms.Panel
vb.net中dataGridView的单元格的合并        
Me.Button1 = New System.Windows.Forms.Button
vb.net中dataGridView的单元格的合并        
Me.rowMergeView1 = New testMearge.RowMergeView
vb.net中dataGridView的单元格的合并        
Me.Column1 = New System.Windows.Forms.DataGridViewTextBoxColumn
vb.net中dataGridView的单元格的合并        
Me.Column2 = New System.Windows.Forms.DataGridViewTextBoxColumn
vb.net中dataGridView的单元格的合并        
Me.Column3 = New System.Windows.Forms.DataGridViewTextBoxColumn
vb.net中dataGridView的单元格的合并        
Me.Column4 = New System.Windows.Forms.DataGridViewTextBoxColumn
vb.net中dataGridView的单元格的合并        
Me.Column5 = New System.Windows.Forms.DataGridViewTextBoxColumn
vb.net中dataGridView的单元格的合并        
Me.Column6 = New System.Windows.Forms.DataGridViewTextBoxColumn
vb.net中dataGridView的单元格的合并        
Me.Panel1.SuspendLayout()
vb.net中dataGridView的单元格的合并        
CType(Me.rowMergeView1, System.ComponentModel.ISupportInitialize).BeginInit()
vb.net中dataGridView的单元格的合并        
Me.SuspendLayout()
vb.net中dataGridView的单元格的合并        
'
vb.net中dataGridView的单元格的合并
        'Panel1
vb.net中dataGridView的单元格的合并
        '
vb.net中dataGridView的单元格的合并
        Me.Panel1.Controls.Add(Me.Button1)
vb.net中dataGridView的单元格的合并        
Me.Panel1.Dock = System.Windows.Forms.DockStyle.Bottom
vb.net中dataGridView的单元格的合并        
Me.Panel1.Location = New System.Drawing.Point(0312)
vb.net中dataGridView的单元格的合并        
Me.Panel1.Name = "Panel1"
vb.net中dataGridView的单元格的合并        
Me.Panel1.Size = New System.Drawing.Size(59531)
vb.net中dataGridView的单元格的合并        
Me.Panel1.TabIndex = 1
vb.net中dataGridView的单元格的合并        
'
vb.net中dataGridView的单元格的合并
        'Button1
vb.net中dataGridView的单元格的合并
        '
vb.net中dataGridView的单元格的合并
        Me.Button1.Location = New System.Drawing.Point(4995)
vb.net中dataGridView的单元格的合并        
Me.Button1.Name = "Button1"
vb.net中dataGridView的单元格的合并        
Me.Button1.Size = New System.Drawing.Size(7523)
vb.net中dataGridView的单元格的合并        
Me.Button1.TabIndex = 0
vb.net中dataGridView的单元格的合并        
Me.Button1.Text = "Button1"
vb.net中dataGridView的单元格的合并        
Me.Button1.UseVisualStyleBackColor = True
vb.net中dataGridView的单元格的合并        
'
vb.net中dataGridView的单元格的合并
        'rowMergeView1
vb.net中dataGridView的单元格的合并
        '
vb.net中dataGridView的单元格的合并
        Me.rowMergeView1.AllowUserToAddRows = False
vb.net中dataGridView的单元格的合并        
Me.rowMergeView1.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill
vb.net中dataGridView的单元格的合并        
Me.rowMergeView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
vb.net中dataGridView的单元格的合并        
Me.rowMergeView1.Columns.AddRange(New System.Windows.Forms.DataGridViewColumn() {Me.Column1, Me.Column2, Me.Column3, Me.Column4, Me.Column5, Me.Column6})
vb.net中dataGridView的单元格的合并        
Me.rowMergeView1.Dock = System.Windows.Forms.DockStyle.Fill
vb.net中dataGridView的单元格的合并        
Me.rowMergeView1.Location = New System.Drawing.Point(00)
vb.net中dataGridView的单元格的合并        
Me.rowMergeView1.MergeColumnNames = CType(resources.GetObject("rowMergeView1.MergeColumnNames"), System.Collections.Generic.List(Of String))
vb.net中dataGridView的单元格的合并        
Me.rowMergeView1.Name = "rowMergeView1"
vb.net中dataGridView的单元格的合并        
Me.rowMergeView1.RowTemplate.Height = 21
vb.net中dataGridView的单元格的合并        
Me.rowMergeView1.Size = New System.Drawing.Size(595343)
vb.net中dataGridView的单元格的合并        
Me.rowMergeView1.TabIndex = 0
vb.net中dataGridView的单元格的合并        
'
vb.net中dataGridView的单元格的合并
        'Column1
vb.net中dataGridView的单元格的合并
        '
vb.net中dataGridView的单元格的合并
        Me.Column1.DataPropertyName = "1"
vb.net中dataGridView的单元格的合并        
Me.Column1.HeaderText = "日期"
vb.net中dataGridView的单元格的合并        
Me.Column1.Name = "Column1"
vb.net中dataGridView的单元格的合并        
'
vb.net中dataGridView的单元格的合并
        'Column2
vb.net中dataGridView的单元格的合并
        '
vb.net中dataGridView的单元格的合并
        Me.Column2.DataPropertyName = "2"
vb.net中dataGridView的单元格的合并        
Me.Column2.HeaderText = "代码"
vb.net中dataGridView的单元格的合并        
Me.Column2.Name = "Column2"
vb.net中dataGridView的单元格的合并        
'
vb.net中dataGridView的单元格的合并
        'Column3
vb.net中dataGridView的单元格的合并
        '
vb.net中dataGridView的单元格的合并
        Me.Column3.DataPropertyName = "3"
vb.net中dataGridView的单元格的合并        
Me.Column3.HeaderText = "价格"
vb.net中dataGridView的单元格的合并        
Me.Column3.Name = "Column3"
vb.net中dataGridView的单元格的合并        
'
vb.net中dataGridView的单元格的合并
        'Column4
vb.net中dataGridView的单元格的合并
        '
vb.net中dataGridView的单元格的合并
        Me.Column4.DataPropertyName = "4"
vb.net中dataGridView的单元格的合并        
Me.Column4.HeaderText = "备注"
vb.net中dataGridView的单元格的合并        
Me.Column4.Name = "Column4"
vb.net中dataGridView的单元格的合并        
'
vb.net中dataGridView的单元格的合并
        'Column5
vb.net中dataGridView的单元格的合并
        '
vb.net中dataGridView的单元格的合并
        Me.Column5.DataPropertyName = "5"
vb.net中dataGridView的单元格的合并        
Me.Column5.HeaderText = "标志"
vb.net中dataGridView的单元格的合并        
Me.Column5.Name = "Column5"
vb.net中dataGridView的单元格的合并        
'
vb.net中dataGridView的单元格的合并
        'Column6
vb.net中dataGridView的单元格的合并
        '
vb.net中dataGridView的单元格的合并
        Me.Column6.DataPropertyName = "6"
vb.net中dataGridView的单元格的合并        
Me.Column6.HeaderText = "更新者"
vb.net中dataGridView的单元格的合并        
Me.Column6.Name = "Column6"
vb.net中dataGridView的单元格的合并        
'
vb.net中dataGridView的单元格的合并
        'Form1
vb.net中dataGridView的单元格的合并
        '
vb.net中dataGridView的单元格的合并
        Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 12.0!)
vb.net中dataGridView的单元格的合并        
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
vb.net中dataGridView的单元格的合并        
Me.ClientSize = New System.Drawing.Size(595343)
vb.net中dataGridView的单元格的合并        
Me.Controls.Add(Me.Panel1)
vb.net中dataGridView的单元格的合并        
Me.Controls.Add(Me.rowMergeView1)
vb.net中dataGridView的单元格的合并        
Me.Name = "Form1"
vb.net中dataGridView的单元格的合并        
Me.Text = "Form1"
vb.net中dataGridView的单元格的合并        
Me.Panel1.ResumeLayout(False)
vb.net中dataGridView的单元格的合并        
CType(Me.rowMergeView1, System.ComponentModel.ISupportInitialize).EndInit()
vb.net中dataGridView的单元格的合并        
Me.ResumeLayout(False)
vb.net中dataGridView的单元格的合并
vb.net中dataGridView的单元格的合并    
End Sub

vb.net中dataGridView的单元格的合并    
Friend WithEvents rowMergeView1 As RowMergeView
vb.net中dataGridView的单元格的合并    
Friend WithEvents Panel1 As System.Windows.Forms.Panel
vb.net中dataGridView的单元格的合并    
Friend WithEvents Button1 As System.Windows.Forms.Button
vb.net中dataGridView的单元格的合并    
Friend WithEvents Column1 As System.Windows.Forms.DataGridViewTextBoxColumn
vb.net中dataGridView的单元格的合并    
Friend WithEvents Column2 As System.Windows.Forms.DataGridViewTextBoxColumn
vb.net中dataGridView的单元格的合并    
Friend WithEvents Column3 As System.Windows.Forms.DataGridViewTextBoxColumn
vb.net中dataGridView的单元格的合并    
Friend WithEvents Column4 As System.Windows.Forms.DataGridViewTextBoxColumn
vb.net中dataGridView的单元格的合并    
Friend WithEvents Column5 As System.Windows.Forms.DataGridViewTextBoxColumn
vb.net中dataGridView的单元格的合并    
Friend WithEvents Column6 As System.Windows.Forms.DataGridViewTextBoxColumn
vb.net中dataGridView的单元格的合并
vb.net中dataGridView的单元格的合并
End Class

vb.net中dataGridView的单元格的合并

运行结果如下:
vb.net中dataGridView的单元格的合并