Bagikan melalui


Cara: Menambahkan ToolTips ke Sel Individual dalam Kontrol Formulir Windows DataGridView

Secara default, TipsAlat digunakan untuk menampilkan nilai DataGridView sel yang terlalu kecil untuk memperlihatkan seluruh kontennya. Namun, Anda dapat mengambil alih perilaku ini untuk mengatur nilai ToolTip-text untuk sel individual. Ini berguna untuk ditampilkan kepada pengguna informasi tambahan tentang sel atau untuk diberikan kepada pengguna deskripsi alternatif tentang konten sel. Misalnya, jika Anda memiliki baris yang menampilkan ikon status, Anda mungkin ingin memberikan penjelasan teks menggunakan TipsAlat.

Anda juga dapat menonaktifkan tampilan TipsAlat tingkat sel dengan mengatur properti ke DataGridView.ShowCellToolTipsfalse.

Untuk menambahkan TipsAlat ke sel

  • Mengatur properti DataGridViewCell.ToolTipText.

    // Sets the ToolTip text for cells in the Rating column.
    void dataGridView1_CellFormatting(Object^ /*sender*/, 
        DataGridViewCellFormattingEventArgs^ e)
    {
        if ( (e->ColumnIndex == this->dataGridView1->Columns["Rating"]->Index)
            && e->Value != nullptr )
        {
            DataGridViewCell^ cell = 
                this->dataGridView1->Rows[e->RowIndex]->Cells[e->ColumnIndex];
            if (e->Value->Equals("*"))
            {                
                cell->ToolTipText = "very bad";
            }
            else if (e->Value->Equals("**"))
            {
                cell->ToolTipText = "bad";
            }
            else if (e->Value->Equals("***"))
            {
                cell->ToolTipText = "good";
            }
            else if (e->Value->Equals("****"))
            {
                cell->ToolTipText = "very good";
            }
        }
    }
    
    // Sets the ToolTip text for cells in the Rating column.
    void dataGridView1_CellFormatting(object sender,
        DataGridViewCellFormattingEventArgs e)
    {
        if ( (e.ColumnIndex == this.dataGridView1.Columns["Rating"].Index)
            && e.Value != null )
        {
            DataGridViewCell cell =
                this.dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex];
            if (e.Value.Equals("*"))
            {
                cell.ToolTipText = "very bad";
            }
            else if (e.Value.Equals("**"))
            {
                cell.ToolTipText = "bad";
            }
            else if (e.Value.Equals("***"))
            {
                cell.ToolTipText = "good";
            }
            else if (e.Value.Equals("****"))
            {
                cell.ToolTipText = "very good";
            }
        }
    }
    
    ' Sets the ToolTip text for cells in the Rating column.
    Sub dataGridView1_CellFormatting(ByVal sender As Object, _
        ByVal e As DataGridViewCellFormattingEventArgs) _
        Handles dataGridView1.CellFormatting
    
        If e.ColumnIndex = Me.dataGridView1.Columns("Rating").Index _
            AndAlso (e.Value IsNot Nothing) Then
    
            With Me.dataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex)
    
                If e.Value.Equals("*") Then
                    .ToolTipText = "very bad"
                ElseIf e.Value.Equals("**") Then
                    .ToolTipText = "bad"
                ElseIf e.Value.Equals("***") Then
                    .ToolTipText = "good"
                ElseIf e.Value.Equals("****") Then
                    .ToolTipText = "very good"
                End If
    
            End With
    
        End If
    
    End Sub
    

Mengompilasi Kode

  • Contoh ini membutuhkan:

  • DataGridView Kontrol bernama dataGridView1 yang berisi kolom bernama Rating untuk menampilkan nilai string dari satu hingga empat tanda bintang ("*"). Kejadian CellFormatting kontrol harus dikaitkan dengan metode penanganan aktivitas yang ditampilkan dalam contoh.

  • Referensi ke System rakitan dan System.Windows.Forms .

Pemrograman yang Kuat

Saat Anda mengikat kontrol ke DataGridView sumber data eksternal atau menyediakan sumber data Anda sendiri dengan menerapkan mode virtual, Anda mungkin mengalami masalah performa. Untuk menghindari penalti performa saat bekerja dengan data dalam jumlah besar, tangani CellToolTipTextNeeded peristiwa daripada mengatur ToolTipText properti beberapa sel. Saat Anda menangani peristiwa ini, mendapatkan nilai properti sel ToolTipText akan menaikkan peristiwa dan mengembalikan nilai DataGridViewCellToolTipTextNeededEventArgs.ToolTipText properti seperti yang ditentukan dalam penanganan aktivitas.

Baca juga