大家好!
我的问题是这样的:
    我用DataGridView绑定了一个数据表,该表有这么几个字段:Employee ID,姓名,职位,事件ID,此处的事件ID是整形。然后我有另一个表,如下字段:事件ID,事件说明(比如0代表请假,1代表出差等等),我想问的是如何在我DataGridView中事件ID那列显示的不是数字,而是在第二表中的说明(也就是请假,出差等等),请高手帮忙,在线等。

解决方案 »

  1.   

    cellformating事件中,改变e.value的值.
      

  2.   

    private void dgv_zlqk_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
            {
    if (e.Value.GetType() == typeof(System.Single))
                {
                    e.CellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;                System.Single tempValue = (System.Single)e.Value;
                    if (tempValue == 0)
                    {
                        e.CellStyle.ForeColor = Color.Red;
                    }
                }
                if(dgv.Columns[e.ColumnIndex].Name == "ID")
               { 
                if((int) e.value == 1)
    {
                e.Value = "(" + e.Value.ToString() + ")" + "请假";}
    else
    {
     e.Value = "(" + e.Value.ToString() + ")" + ".........";}}
              
               e.FormattingApplied = true;
                }
               }
    大体是这样.
      

  3.   

    select Employee   ID,姓名,职位,事件shuoming from Employee,事件 where Employee.事件ID=事件.事件ID
      

  4.   

    2 个table 选择段的时候 选择你需要显示的字段即可
      

  5.   

    public void GetState()
    {
    for(int i=0;i<this.CusGrid1.Items.Count;i++)
    {
    Label lbl1 = (Label)CusGrid1.Items[i].Cells[2].Controls[1];
    if(lbl1.Text=="1")
    lbl1.Text="请假";
    else
    lbl1.Text="出差";
    }
    }
      

  6.   

    你在写SQL语句的时候处理..如 SELECT,CASE WHEN 字段='0' THEN  '请假' WHEN  字段='1' THEN '出差' END AS 字段 就搞定了..