Agrupar filas en DataGridView

Agrupar filas en DataGridView

en DataGridView coloque el siguiente código en

dgvProduct_CellFormatting Event

If e.RowIndex > 0 And e.ColumnIndex = 0 Then
                If dgvProduct.Item(0, e.RowIndex - 1).Value = e.Value Then
                    e.Value = ""
                ElseIf e.RowIndex < dgvProduct.Rows.Count - 1 Then
                    dgvProduct.Rows(e.RowIndex).DefaultCellStyle.BackColor = Color.White
                End If
End If

¡Todo listo!

Disfruta


Podría intentar usar la funcionalidad de la propiedad MergeCells de MSFlexGrid de combinación de celdas verticales en lugar de agrupación de filas como se explica en este artículo Agrupación de DataGridView en C#/VB.NET:dos recetas. En este ejemplo, las filas que pertenecen a un grupo se unen visualmente usando celdas combinadas verticalmente, en lugar de usar filas de grupos horizontales clásicas.

protected override void OnCellPainting(DataGridViewCellPaintingEventArgs args)
{
  base.OnCellPainting(args);

  args.AdvancedBorderStyle.Bottom =
    DataGridViewAdvancedCellBorderStyle.None;

  // Ignore column and row headers and first row
  if (args.RowIndex < 1 || args.ColumnIndex < 0)
    return;

  if (IsRepeatedCellValue(args.RowIndex, args.ColumnIndex))
  {
    args.AdvancedBorderStyle.Top =
      DataGridViewAdvancedCellBorderStyle.None;
  }
  else
  {
    args.AdvancedBorderStyle.Top = AdvancedCellBorderStyle.Top;
  }
}