Dbgrid控件中,连接的是ADOQuery,要在记录间切换焦点时获取当前记录字段的值,应在哪个事件中写代码?如何写?

解决方案 »

  1.   

    用gotobook,看看我的代码吧,//多行选定,并更新
    procedure TForm1.Pub(pobflag:string);
    var
      i:integer;           
      tstr : string;
      sql:string;
    begin
      for i:=0 to self.DBGrid1.SelectedRows.Count-1 do
      begin
        self.ADOQuery1.GotoBook(Pointer(self.DBGrid1.SelectedRows[i]));
        self.ADOQuery2.Close;
        tStr := 'update wsfileArchives set  fb='''+pobflag+''' where (Fileturn='''+self.ADOQuery1.FieldValues['fileturn']+''') and ( WyBsf='''+ ADOQuery1.FieldValues['WyBsf']+''')';
        Self.ADOQuery2.SQL.Clear;
        self.ADOQuery2.SQL.Add(tStr);
        self.ADOQuery2.ExecSQL;
         end;
    end;
      

  2.   

    ADOQuery1.GotoBook(Pointer(DBGrid1.SelectedRows[i]));
      

  3.   

    在oncolexit中;
    adoquery.fieldbyname('字段').asstring
      

  4.   

    应该在处理如下:
    在ColEnter 中写:
       showmessage(dbgrid1.SelectedField.AsString);
    在AfterScroll中写:
      if showing then
      showmessage(dbgrid1.SelectedField.AsString);
      

  5.   

    DBgrid的DBGrid1DrawColumnCell事件
    cellcick是单击单元格