在同一条记录中,根据焦点的变动,把当前单元格的列数,赋给Integer型变量!
我试了好久了,还没成功过!
如果各位有能定位到某单元格的好方法,也请赐教!
我的表格的行和列都是动态生成的。

解决方案 »

  1.   

    在DrawColumnCell中的Column就是你当前的列.在CELL中都是以STRING字串显示的,如果你要
    想知道当前列是什么类型,你可以用Column.Field.DataType来得知是什么类型.
    如:Column.Field.DataType  //类型
       Column.Field.AsString  //转换为字符串
       Column.Field.FieldName  //字段名称
      

  2.   

    procedure TForm1.DBGrid1CellClick(Column: TColumn);
    begin
      ShowMessage('列:' +  IntToStr(DBGrid1.SelectedField.FieldNo))
    end;
      

  3.   

    1. DBGrid1.SelectedIndex 就可以了,注意是从0开始的,第一列返回0,第二列返回1
    2. 给DBGrid1.SelectedIndex 赋值就能定位到相应的列
      

  4.   

    procedure TForm1.Button2Click(Sender: TObject);
    var
      icol : Integer;
    begin
      icol := DBGrid1.SelectedIndex;
      ShowMessage(IntToStr(icol));
    end;