Gruppieren Sie Zeilen in DataGridView

Gruppieren Sie Zeilen in DataGridView

Platzieren Sie in der DataGridView den folgenden Code in der

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

Alles erledigt!

Viel Spaß


Sie können versuchen, die Funktionalität der MergeCells-Eigenschaft von MSFlexGrid zum vertikalen Zusammenführen von Zellen anstelle der Zeilengruppierung zu verwenden, wie in diesem Artikel DataGridView-Gruppierung in C#/VB.NET:Zwei Rezepte erläutert. In diesem Beispiel werden Zeilen, die zu einer Gruppe gehören, visuell verbunden, indem Zellen vertikal verbunden werden - anstatt klassische horizontale Gruppenzeilen zu verwenden.

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;
  }
}