"但是点击DBGRID1时,可以找到DBGRID2中的记录"是什么意思?

解决方案 »

  1.   

    下面是我的表结构:
    CREATE TABLE  JGZGJN_GZB (
      ID NUMBER(10, 0) NOT NULL , 
      BH VARCHAR2(4) NOT NULL,  
      GZH VARCHAR2(6) NOT NULL, 
      XM VARCHAR2(20) NOT NULL, 
      XISHU NUMBER(8, 1),--系数
      JISHU NUMBER(8, 1),--基数
      JJE NUMBER(8, 1),  --奖金额
      jq_yx number(2,2), --优秀员工系数
      jje_yx number(8,1),--优秀员工奖励金额
      jq_bm number(2,2),--部门系数
      jje_bm number(8,1),--部门奖励金额
      KOU_xs NUMBER(2, 2),--扣项系数
      kouxiang number(8,1),--按金额扣
      HEJI NUMBER(8, 1),    --合计
      RIQI DATE,            --日期
      BMBH VARCHAR2(3) NOT NULL, --部门编号
      BEIZHU VARCHAR2(200), --备注
      TABLENAME VARCHAR2(15) NOT NULL, --帐套表名
      jj_xm varchar2(30), --奖金项目 ,
      sts_ff  varchar2(1) --发放标志,
      STS_KS VARCHAR2(1), --是否当月扣税
      SHUIJIN NUMBER(8, 2) ,--当月扣税税金
      shuilv NUMBER(2, 2),--手工输入的税率
      sts_hs varchar2(1),--是否含税
    sts_ss varchar2(1)--是否算税);

    create table zhigong_zdb
    (
    id number(8,0),
    BH VARCHAR2(4) NOT NULL,  
    GZH VARCHAR2(6) NOT NULL, 
    shfenzh varchar2(8)
    )
    这样的两个表,分别放到两个DBGRID中显示:点击DBGRID1时,指针指到DBGRID2中BH相同的记录,我通过LOCATE可以实现,但是就是不能使得它们在一行中,怎么回事啊
      
      

  2.   

    什么使的它们在一行中。
    是不是只在DBGRID2中只选出BH的记录。搞个QUERY查一下不就行了,很简单
      

  3.   

    不是,是这样的,就是说可以找到DBGRID2中的记录,但是不是同行显示:
    编号 姓名       编号 工资号
    0001 xm        0002 0002
                   0001 0001
    用LOCATE可以找到dbgrid1中0001可以找到DBGRID2中的0001 但是他们的显示不是在一行中,就象上面。还有如果记录少可以,如果到50多条记录的时候,就不行了,显示就是象上面这样的
      

  4.   

    dbgrid2.row:=dbgrid1.row 没有这个属性啊
      

  5.   

    dbgrid1和dbgrid2的数据是不是一样多?
      

  6.   

    试一试这样写:
    type TTemp = class(TDBGrid) end;procedure TForm1.DBGrid1CellClick(Column: TColumn);
    begin
      if not Query2.Active then
        Exit;  Query2.Locate('bh', Query1bh.Value, []);
      TTemp(DBGrid2).TopRow := TTemp(DBGrid1).TopRow;
    end;
      

  7.   

    我跟你讲,按我看来你是不太可能实现的,你想想看,数据在数据集中如何定位的,你做的只相当于把两个表关联。而且locate也会影响数据集中的数据位置。我给你一点建议:1、取消dbgrib2用两个edit表示(主/重)。2、如果数据数量相同,两数据集按相同的方法排序,dbgrid1点击时
    给dbgrid2发一个消息,让他执行同样的事件。
      

  8.   

    lupeng66751,你好,如何发消息,我不是太会,能不能给举个例子,我现在快急死了