Soalan:
DataGridView memaparkan senarai data dalam bentuk baris dan lajur. Dalam contoh ini, data disusun ke dalam kumpulan, dan setiap kumpulan mempunyai sel pengepala (Hd1). Matlamatnya adalah untuk menggabungkan sel pengepala ini untuk meningkatkan paparan data.
Penyelesaian:
Untuk menggabungkan sel dalam DataGridView, anda perlu mengenal pasti nilai pendua dalam lajur yang ingin anda cantumkan terlebih dahulu. Penyelesaian berikut mengandungi dua kaedah dan pengendali acara:
<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>
<code class="language-csharp">private void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e) { e.AdvancedBorderStyle.Bottom = DataGridViewAdvancedCellBorderStyle.None; if (e.RowIndex < 1 || !IsTheSameCellValue(e.ColumnIndex, e.RowIndex)) { return; } // ... (其余代码处理单元格合并的视觉效果) ... }</code>
<code class="language-csharp">if (e.RowIndex == 0) return; if (IsTheSameCellValue(e.ColumnIndex, e.RowIndex)) { e.Value = ""; e.FormattingApplied = true; }</code>
<code class="language-csharp">dataGridView1.AutoGenerateColumns = false;</code>
Keputusan:
Dengan melaksanakan kaedah dan pengendali acara ini, anda boleh menggabungkan sel dalam DataGridView, menghasilkan persembahan data anda yang lebih bersih dan menarik secara visual.
Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Sel Pengepala DataGridView dalam WinForms untuk Memperbaik Persembahan Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!