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";
}
}
}
如何根据列的当前值自定义 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";
}
}
}