Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Menggabungkan Sel DataGridView dalam WinForms?

Bagaimana untuk Menggabungkan Sel DataGridView dalam WinForms?

Barbara Streisand
Barbara Streisandasal
2025-01-12 15:28:43272semak imbas

How to Merge DataGridView Cells in WinForms?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn