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

Bagaimana untuk Menggabungkan Sel DataGridView dalam WinForms?

Barbara Streisand
Lepaskan: 2025-01-12 15:28:43
asal
180 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

Pemuatan Borang

Lumpuhkan penjanaan lajur automatik:

<code class="language-csharp">private void Form1_Load(object sender, EventArgs e)
{
    dataGridView1.AutoGenerateColumns = false;
}</code>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan