关于datatable中的字段"ID",显示在DataGridView中时,如果ID="1",则显示"男",ID="2",则显示"女"。。
我是用如下方法实现的:
在DataGridView的 BindingComplete事件中
string k=""
foreach (DataGridViewRow dgv in sDGV.Rows)
{
          
     k = dgv.Cells[3].Value.ToString();
     if (k.Equals("1"))
       dgv.Cells[3].Value = "男";
     else
       dgv.Cells[3].Value = "女";    
}
////////////////这种方法可以实现,但是他同时修改了datatable中的ID值,提交datatable的数据到库中时,字段ID就变成了dgv.Cells[3].Value中显示的值(“男”,“女”)了。。这不是我想要的有没有什么简便的方法?

解决方案 »

  1.   

    这样很简单啊~~
    你把绑定男女的那个列转换成combox列,
    原后设置DisplayMember = "name";
           ValueMember = "id";
    就Ok啦,LZ结贴,拿分
      

  2.   

    private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
            {
                if(this.dataGridView1.Columns[e.ColumnIndex].HeaderText=="sex ") 
                {
                    if (e.Value == 0)
                        e.Value = "男";
                    else 
                        e.Value = "女";
                  }
            }