点击一下dbgrid,就读取一行记录的信息!点击是用那个事件好?
谢谢了!

解决方案 »

  1.   

    var i:integer;
    begin
    for i:=0 to dbgrid1.Columns.Count-1 do
    begin
      showmessage(
      dbgrid1.DataSource.DataSet.FieldByName(dbgrid1.Columns[i].FieldName).AsString);
    end;
    end;
      

  2.   

    DBGrid.MouseUp可以,其实  dataset的.AfterScroll才是你的需要
      

  3.   

    给个思路:procedure TForm1.DBGrid1CellClick(Column: TColumn);
    var
      n: integer;
    begin
       ShowMessage(DBGrid1.Fields[0].AsString);    //字段1的值
       ShowMessage(DBGrid1.Fields[1].AsString);    //字段2的值
       ...
    end;
      

  4.   

    如果是单击就是CHANGE事件
    如果是双击就是ONDELCLIK事件
    var
    i:integer;
    str:string;
    begin
    str:='';
    for i:=0 to DBGrid1.DataSource.DataSet.FieldCount-1 do
    str:=str+#9+DBGrid1.DataSource.DataSet.Fields[i].AsString;
    end;
    str的最终值 就是一行的数据
    不过要操作某一行直接写就行了
      

  5.   

    谢谢 jinjazz(人雅的标记--落寞刺客)和 kaguo(▲)Guozhi(★★★★★) 
      

  6.   

    呵呵,一般这样子的处理放在DBLClick里,或者是AfterScroll里
      

  7.   

    datasource.dataset.fieldbyname('字段').asstring{读取该条记录的某个字段的值}