C# 自定义 datagridview 列

C# custom datagridview columns

如何根据列的当前值自定义 DataGridView 的列(插入图像、设置不同字体的文本...)?

例如:

如果列的值 = 0,我想显示单词“NO”,如果列的值 = 1,我想显示单词“[=21=” ]是”(或放一张不同的图片)

在 JAVA 中,我使用 CellRenderer,如果我将列的值从“0”更改为“1”,渲染器本身会负责自动将单词从“[=21”更改为=]NO”到“YES”。

如何在 C# 中执行相同的操作?

您应该使用 CellFormatting 事件 (msdn)。

示例:

private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
    if (this.dataGridView1.Columns[e.ColumnIndex].HeaderText == "Value")
    {
        if (e.Value != null)
        {
            int intValue = (int)e.Value;
            e.Value = (intValue == 0) ? "NO" : "YES";
        }
    }
}