DBGrid有一字段:'员工姓名'是我加上去的,当前表里没有,当然不会显示
我想让DBGrid显示的时候从别的表里读出'员工姓名'的内容,加到
当前'员工姓名'字段下显示,怎么做?员工编号是所有表都有的(主键)

解决方案 »

  1.   

    在ADOQUERY控件里设置:
    sql="SELECT TOP A.*, B.用户名 FROM 表1 A INNER JOIN 表2 B ON A.userid = B.userid"
      

  2.   

    做个Lookup字段吧。比较好用。
      

  3.   

    同意 0754boy(李昂) 的思路在ADOQUERY控件里设置:
    sql="SELECT TOP A.*, B.员工姓名 FROM 表1 A INNER JOIN 表2 B ON A.userid = B.userid"
      

  4.   

    有几个方法。
    1。通过多表联结把该字段也选出来
    2。通过 Lookup 或  Calculated 字段得到值
    3。处理 DBGrid 的 OnDrawColumnCell 事件
      

  5.   

    先建立adoquery+datesource与dbgrid的关联
    with adoquery do
      begin
       close;
       sql.clear;
       sql.add('select 查询字段 from 表名 where 条件');
       open;
      end;
    dbgrid.Columns[0].Title.caption :='员工姓名';
    dbgrid.Columns[0].fieldname :='字段名';