循环读取列标题
直到为name
这不就可以了吗

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var i:integer;
    var
      I,j: Integer;
    begin
    i:=table1.FieldCount;
    for j := 0 to i-1 do    // Iterate
    begin
    if (dbgrid1.Fields[j].FieldName='flag')then
    begin
    //do something
    end;
    end;    // forend;
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      I:Integer;
    begin  for I:=0 to DBGrid1.Columns.Count-1 do
          if DBGrid1.Columns[I].Title.Caption='Name' then
             Break
          else
             Continue;
          ShowMessage('[Name]为第 '+IntToStr(I+1)+' 列');
    end;
      

  3.   

    //参考
    DBGrid1.SelectedField := DBGrid1.DataSource.DataSet.FieldByName('FieldName');
    ShowMessage(IntToStr(DBGrid1.SelectedIndex));