gpt4 book ai didi

c# - 替换 datagridview 列中的 true/false

转载 作者:太空狗 更新时间:2023-10-29 18:25:28 27 4
gpt4 key购买 nike

我有一个数据 GridView ,我将其填充如下:

var q= repository.GetStudents();//

dataGridView1.DataSource = null;
dataGridView1.Columns.Clear();

dataGridView1.DataSource = q;

dataGridView1.Columns.RemoveAt(1);
//Remove IsActive
//Cause I want to have my own implementation

dataGridView1.Columns[0].DataPropertyName = "StudentID";
dataGridView1.Columns[0].HeaderText = "Studunet ID";

dataGridView1.Columns[1].DataPropertyName = "IsActive";
dataGridView1.Columns[1].HeaderText = "Status";

“IsActive”属性是 bool 类型。当显示“IsActive”单元格时,它显示真/假。我想用我自己的自定义值替换它。

我读了thisthis帖子,但我无法解决我的问题。

最佳答案

您可以使用 CellFormatting DataGridView 的事件,例如:

void dataGridView_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
var grid = (DataGridView)sender;
if (grid.Columns[e.ColumnIndex].Name == "IsActive")
{
e.Value = (bool)e.Value ? "MY_TEXT_FOR_TRUE" : "MY_TEXT_FOR_FALSE";
e.FormattingApplied = true;
}
}

编辑(根据评论):

这与您现在所做的非常相似,只需删除绑定(bind)列并添加所需类型的新列并正确设置 DataPropertyName,例如:

this.dataGridView1.Columns.Remove("COL_TO_CUSTOMIZE");
var btnCol = new DataGridViewDisableButtonColumn();
btnCol.Name = "COL_TO_CUSTOMIZE";
btnCol.DataPropertyName = "COL_TO_CUSTOMIZE";
var col = this.dataGridView1.Columns.Add(btnCol);

请注意,这会将列附加到末尾,但您可以使用 dataGridView.Columns.Insert 方法而不是 Add 来决定列的位置。

关于c# - 替换 datagridview 列中的 true/false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9914411/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com