我想直接通过DBGrid来读取显示出来的数据,不从ADOQuery里面读取,例如下面是dbgrid显示的数据
    学生姓名    学生编号    学生成绩(DBGRID的表头字段)
    张三          01          83     (显示的内容)
假如我现在已经定位在了第一行,我怎么把‘张三’读取出来?我觉得前面应该是DBGrID.columns[1]. 点后面该怎么写呢?

解决方案 »

  1.   

    var
      s :string;
    begin
      s := DBGrid1.Columns[0].Field.Value;//列序从0开始。
    end;
      

  2.   

    我用的是s := DBGrid1.Columns[0].Field.text;可是当这一行没有数据的时候就会报错,如果这个单元格没有数据,那DBGrid1.Columns[0].Field.text是空值吗,用判断语句跳过应该怎么写呢?
    我写的if DBGrid1.Columns[0].Field.text='' then  会报错
      

  3.   

    没有数据时,数据集到了尾,可用数据集的EOF判断。
    if DBGrid1.DataSource.DataSet.EOF then
      ......