dbgrid有几个oncell和oncolumn的方法,可以使用。

解决方案 »

  1.   

    在MouseMove事件获取鼠标位置,用MouseCoord来确定当前所在的行列 ,
    Fields[TGridCoord.y]即为所需字段。
      

  2.   

    这样子试试:DBGrid1.Columns.Items[0].Field.AsString
      

  3.   

    用 不要用 AsXXXX 的方法,你试试 DisplayText
    还有就是 NewValue, 但这个 NewValue在BDE和MIDAS中的意义就不一样
      

  4.   

    zgamer(游戏人间) 这样就可以了!!!!
      

  5.   

    我想lovezl好像是取得在DBGrid中的文本但还没POST进去的数据吧
    用AsString好像不行
      

  6.   

    有时可以用些笨办法,比如放一个dbedit与该字段关联,当焦点转移后,取dbedit的text即可,dbedit的visable就设为false嘛!
      

  7.   

    我最近找到一个办法,你试一试,其实在DBGrid中录入数据也象PB似的,上面浮动一编辑框这就是
    property InplaceEditor: TInplaceEdit read FInplaceEdit;只不过在TCustomGrid中没有公布出来,可以在你的单元中声明一类型如 THackDBGrid = Class(TCustomDBGrid);
    然后再需要的地方写THackDBGrid(DBGrid1).InplaceEditor.Text,这样就取到了浮动的文本
    你试试看行不行
      

  8.   

    先试一下:xzgyb(回首往事,不堪回首)的方法
      

  9.   

    use "OnColExit" event to get it!
      

  10.   

    procedure dbgrid1oncolexit();//oncolexit事件
    begin
    dbgrid1.field[b].asstring:=dbgrid1.field[a].asstring;//在这里可以随便引用
    end;
    绝对正确,给我分我会告诉你更多
      

  11.   

    这是我抄下来的啊,不知道对不对,你试试
     在Form.OnKeyPress事件中写如下代码:
          if Key = #13 then 
          if ActiveControl = DBGrid1 then begin 
          TDBGrid(ActiveControl).SelectedIndex := 
          TDBGrid(ActiveControl).SelectedIndex + 1; 
          Key := #0; 
          end; 
          有2点需要注意:
          1.当光标达到DBGird最右列的时候,再按回车,光标还会停留在原地。
          2.Key := #0一句让光标移动到下一列以后处于浏览状态,如果去掉这行代码光标移动到下一列以后将处于编辑状态。  
      

  12.   

    To xzgyb(老达摩): 
      我已经解决了这个问题。方法如下:
      声明一个类  
        THiDBGrid = class(TCustomGrid);
      然后在要取数据的地方用强制转换
        THiDBGrid(DBGrid1).GetEditText(1,1);
     OK!