现在DBGrid中显示一张表的内容 例如:
      学号       姓名
      001       张为
      002       里司
      003       望物
如果我点击 001 或 张为 (既第一条记录)的话 能否让我的一个Label的caption:='001'?  就是点击哪条记录则可以将本条记录的主键读出??

解决方案 »

  1.   

    在dbgrid的onclick事件里label.caption:=query.fieldbyname('学号').asstring;
      

  2.   

    Label.Caption := Query.FielByName('学号').AsString;理由:因为它是数据感应组件,即,当你点击不同记录时,记录指针也会跟着移动。
      

  3.   

    写在Query的AferScroll事件中也可以
      

  4.   

    procedure Tform1.button1click(sender:objcect);
    begin
    label1.caption:=adoquery1.fielvalue['学号'];
    end;
      

  5.   

    谢谢各位了
    但请问能否在GRID当前记录移动时也响应同样的结果呢? 就是点击向下时记录移向下一条则lavel显示下一条的信息??
      

  6.   

    gmc007已经讲了
    在AferScroll事件中可以实现记录移动响应同样的结果。