在DBGrid中,有多个字段是以代码形式存放的,并且所有的代码字段都是有另外一个专门的表存放代码和具体的名称的,现在想把DBGrid显示的代码按照它所对应的表的名称进行显示,应该如何实现?
   采用字段的GetText事件加Sql语句来进行处理的话,DBGrid会闪烁,速度也有影响,手工添加的话,工作量实在是太大了.
   说明一下,数据集的内容是不允许改动的.

解决方案 »

  1.   

    没懂:数据集的内容是不允许改动的
    可以在代码中向数据库提交具有代码转换的sql语句,获取被转换代码后的数据集.
      

  2.   

       也就是说数据集是只能浏览,不允许修改的.有几十个字段,有的字段有几万个记录,把代码和它所对应的内容一一联系起来,用Sql语句的话,那个可能太长了吧!
       我的意思是说原来的数据集字段可能是111,112,113,......999,现在要在DBGrid中根据另外一个表把它显示为小轿车,大轿车,小客车,......大货车这样的.
      

  3.   

    首先,是否能改?完全由你的应用程序控制:可将DBGrid的ReadOnly设置为真-不可修改.
    SQL语句,代码表,数据库就是为适应这种应用才身存的.
    SQL语句不会很长,否则,SQL语句也没必要设置论坛了.
      

  4.   

    如果是这样的语句的话就太长了:
    Select   t1.XXX,t2.XXX,t3.XXX,t4.XXX,....,t20.XXX   from   t1,t2,t3,...,t20   where   t1.XXX=t11.XXX and t2.XXX=t12.XXX and ....  and t10.xxx=t20.XXX 
      

  5.   

    按照楼主的题目,上句sql是可优化的.因为不可能每个字段都是需转换的代码字段
      

  6.   

    看来没有什么好办法了,只能是用Sql进行查询了,结帖吧!