Heim >Backend-Entwicklung >C++ >Wie füge ich DataGridView-Zellen in WinForms zusammen?
WinForms DataGridView-Zellenzusammenführung: Vollständige Anleitung
Der Schlüssel zum Zusammenführen von Zellen im DataGridView von WinForms besteht darin, doppelte Werte zu finden und zu verarbeiten. Hier finden Sie eine Schritt-für-Schritt-Anleitung:
Duplikatwerte finden
Definieren Sie eine Hilfsmethode, um Zellwerte auf Gleichheit zu vergleichen:
<code class="language-csharp">bool IsTheSameCellValue(int column, int row) { DataGridViewCell cell1 = dataGridView1[column, row]; DataGridViewCell cell2 = dataGridView1[column, row - 1]; if (cell1.Value == null || cell2.Value == null) { return false; } return cell1.Value.ToString() == cell2.Value.ToString(); }</code>
CellPainting
Passen Sie im CellPainting-Ereignis von DataGridView den Rahmenstil der zusammengeführten Zellen an:
<code class="language-csharp">private void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e) { e.AdvancedBorderStyle.Bottom = DataGridViewAdvancedCellBorderStyle.None; if (e.RowIndex < 0 || e.ColumnIndex < 0) return; if (IsTheSameCellValue(e.ColumnIndex, e.RowIndex)) { e.AdvancedBorderStyle.Top = DataGridViewAdvancedCellBorderStyle.None; } }</code>
Zellenformatierungsereignis (CellFormatting)
Verarbeiten Sie im CellFormatting-Ereignis die Formatierung zusammengeführter Zellen:
<code class="language-csharp">private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { if (e.RowIndex == 0) return; if (IsTheSameCellValue(e.ColumnIndex, e.RowIndex)) { e.Value = ""; e.FormattingApplied = true; } }</code>
Formular wird geladen
Automatische Spaltengenerierung deaktivieren:
<code class="language-csharp">private void Form1_Load(object sender, EventArgs e) { dataGridView1.AutoGenerateColumns = false; }</code>
Mit den oben genannten Schritten können Sie Zellen im DataGridView zusammenführen, um den gewünschten Datenpräsentationseffekt zu erzielen.
Das obige ist der detaillierte Inhalt vonWie füge ich DataGridView-Zellen in WinForms zusammen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!