Penggabungan Sel DataGridView WinForms: Panduan Lengkap
Kunci untuk menggabungkan sel dalam DataGridView WinForms adalah untuk mencari dan mengendalikan nilai pendua. Berikut ialah arahan langkah demi langkah:
Cari nilai pendua
Tentukan kaedah pembantu untuk membandingkan nilai sel untuk kesamaan:
<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
Dalam acara CellPainting DataGridView, laraskan gaya sempadan sel yang digabungkan:
<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>
Acara pemformatan sel (Pemformatan Sel)
Dalam acara Pemformatan Sel, kendalikan pemformatan sel yang digabungkan:
<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>
Pemuatan Borang
Lumpuhkan penjanaan lajur automatik:
<code class="language-csharp">private void Form1_Load(object sender, EventArgs e) { dataGridView1.AutoGenerateColumns = false; }</code>
Melalui langkah di atas, anda boleh menggabungkan sel dalam DataGridView untuk mencapai kesan pembentangan data yang diingini.
Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Sel DataGridView dalam WinForms?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!