请教一个问题gridcontrol gridview里面显示ABC 数据源里面是012 如果在代码里面就将datatable的值case了 验证和导入数据的时候还是要变成012再执行有没有不改变datatable的值 只是在gridview里面根据012判断显示ABC 验证导入的时候也不需要做任何操作 gridcontrol的数据源内仍然是012的方法
http://topic.csdn.net/u/20100203/15/e2760b74-f6f1-4450-b2f2-5500dfd413c6.html和这个很相似别的帖子有人说用CustomColumnDisplayText但是我测试没有成功 不知道是哪里操作错误还是什么FromatConditions判断的可以更改列或者行的外观 更改不了显示的内容 不知道这里面有没有更改显示字段的方法请教下

解决方案 »

  1.   

    用2个datatable,一个存改变之前的,一个存改变之后的,,绑定列表用改变后的,验证和导入用之前的
      

  2.   

    那我在验证和导入的时候case那些字段更省事啊
    30多个字段啊
    我现在用的就是case
    网上好像说lookupedit也可以实现这个功能
    我试试先
      

  3.   

         private void gridView1_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e)
            {
                if (e.Column.FieldName == "id" && Convert.ToInt32(e.Value.ToString()) <246145)
                {
                    e.DisplayText = "10000000000" + DateTime.Now.Second;
                }
            }经测试这样是可以的,判断条件自己写一些
      

  4.   

    怎么做判断?
    例如 fieldname="TEST"
    TEST有三个值 1 ,2,3,分别对应A,B,C
    如果dr("TEST")=1 就显示A  如果等于2就显示B
      

  5.   

    private void gridView1_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e)
      {
      if (e.Column.FieldName == "TEST")
      {
       if(e.Value.ToString()=="1")
      e.DisplayText ="A";
     if(e.Value.ToString()=="2")
      e.DisplayText ="B";
     if(e.Value.ToString()=="3")
      e.DisplayText ="C";
      }
      }