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 = "启动";
                }

解决方案 »

  1.   

    这个问题,你发了两遍了:
    方法一:
    建议你用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 = "关闭";
            }
        }
    }