我的要求是这样的,当鼠标选中某一行时,我怎样知道是选择了那一行,因为DBGrid的每一行都对应了数据库的一条记录,我要知道是对哪条记录进行操作,谢谢了

解决方案 »

  1.   

    我的方法是:按关键字段值来判断,比如说第一列是关键字段,那么我们就可以用以下方法得到当前行的值:
    DBGrid1.Columns.Items[0].Field.value
    可以在DBGrid的OnCellClick和OnKeyDown里同时捕捉这个值,那就比较完善了。
      

  2.   

    还有,其实我们操纵数据库时,可以不用理GBGrid里光标的位置,因为DBGrid与Table的位置是一致的,所以可以用以下方法。
    比如用这句:
    Table1.fieldbyname('字段名').value,就可以得到当前记录的任一字段的值,当前鼠标选中了哪一行,就是哪一条记录。
      

  3.   

    采用关键字判断就可以了,先设置OPTIONS中的dgRowSelect为TRUE,
    然后在DBGRID的CellClick中写:
    if table1.fieldbyname('关键字段').asstring=... then
      showmessage('您选择了哪行!');
      

  4.   

    DBGrid.Datasource.DataSet.FieldbyName('关键字').as
      

  5.   

    因为你是和数据库绑定的,所以无所谓,直接用DATASET。FIELDBYNAME就行了,如楼上所言
      

  6.   

    按关键字段值来判断
    DBGrid1.Columns.Items[0].Field.value
    可以在DBGrid的OnCellClick和OnKeyDown里同时捕捉这个值
      

  7.   

    直接用DataSet来判断就行了。用关键字来判断好象性能不高。