在DBGrid里,显示出查询出来的记录后,怎么样用OnTitleClick获得其在表中的字段名?

解决方案 »

  1.   

    procedure TForm14.DBGrid1TitleClick(Column: TColumn);
    begin
      ADOQuery1.Sort:= Column.FieldName;
      ADOquery1.Filtered:= True;
    end;
    我这样后只能进行单击一次进行升序,要是我想再单击一次进行降序,再单击一次又是升序。以此类推,该怎么解决呢?
      

  2.   

    I:integer;
    DataModules.adoquery1.SQL.Clear;
    DataModules.adoquery1.SQL.add('select * from 表名');
    DataModules.adoquery1.open;
    DataModules.adoQuery1.Fields.Fields[i].FieldName  //获得字段名
    OnTitleClick函数的出按的是哪个列,然后附给I
      

  3.   

    if column<>nil then
        showMessage(column.FieldName);
      

  4.   

    回复人: dulei115() ( ) 信誉:101  2003-12-08 10:55:00  得分:0 
     
     
      column.Field.AsString;
      
     
    说的没错
      

  5.   

    I:integer;
    DataModules.adoquery1.SQL.Clear;
    DataModules.adoquery1.SQL.add('select * from 表名');
    DataModules.adoquery1.open;
    DataModules.adoQuery1.Fields.Fields[i].FieldName  //获得字段名
    OnTitleClick函数的出按的是哪个列,然后附给I你这只是查询呀
      

  6.   

    sorry.
    column.Fieldname.AsString;
    这样才没错
      

  7.   

    加一个开关issort 初试话的时候设定为true  if column<>nil then
      begin
        if issort then
        begin
          adodataset1.Sort:=column.FieldName+' ASC ';
          issort:=False;
        end
        else
        begin
          adodataset1.Sort:=column.FieldName+' DESC ';
          issort:=true;
        end;  end;
      

  8.   

    with ADOQuery do
    begin
      //...
      if Active then
        Active := False;
      SQL.Clear;
      SQL.Add('Select * From TableName');
      Prepared;
      Open;
      GetFieldNames(ComboBox1.Items);
    end;
      

  9.   

    GetFieldNames//这个是得到字段名;
    GetTableNames//这个是从ADOConnection中得到表名;
      

  10.   

    加一个开关issort 初试话的时候设定为true  if column<>nil then
      begin
        if issort then
        begin
          adodataset1.Sort:=column.FieldName+' ASC ';
          issort:=False;
        end
        else
        begin
          adodataset1.Sort:=column.FieldName+' DESC ';
          issort:=true;
        end;  end;
    你说这个issort变量在哪初始化呢?~
      

  11.   

    当然在PUBLIC中了,做为一个全局变量
      

  12.   

    支持百合的方法,我也有用过!
    fieldlist: stringlist;
    GetFieldNames(ComboBox1.Items);
    stringgrid.cell[0,0]:=combobox1.items[0];