winform下使用datagridview绑定一个数据表,其中一列为DataGridViewComboBox,对应的数据库中列为(control)数值为:0和1,我想实现如下显示:
当数据库中control列是 0,则 DataGridViewComboBox显示成“关闭”
当数据库中control列是 1,则 DataGridViewComboBox显示成“启动”
f (dt_local.Rows[i]["Control"].ToString()=="0")
{
dataGridView1.Rows[i].Cells["Control"].Value = "关闭";//这里应该怎么处理
}
else
{
dataGridView1.Rows[i].Cells["Control"].Value = "启动";
}
当数据库中control列是 0,则 DataGridViewComboBox显示成“关闭”
当数据库中control列是 1,则 DataGridViewComboBox显示成“启动”
f (dt_local.Rows[i]["Control"].ToString()=="0")
{
dataGridView1.Rows[i].Cells["Control"].Value = "关闭";//这里应该怎么处理
}
else
{
dataGridView1.Rows[i].Cells["Control"].Value = "启动";
}
方法一:
建议你用DataColumn的Expression实现,这属于计算字段的问题。你可以在读取数据以后,手工添加一列,这个列的内容,从Control列计算得到:
myDataColumn.Expression = "IIF(Control=1, '启动', '关闭')
方法二:
处理CellFormatting事件:
private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (e.RowIndex >= 0 && e.ColumnIndex == 3)//在第三列
{
if (e.Value.ToString() == "1")
{
e.Value = "启动";
}
else
{
e.Value = "关闭";
}
}
}