很多表格,只要点击某个Title,表的内容就能自动排序,那么DBGrid或DBGRIDEH可以实现吗?我说的是它们有没有这样的属性(Properties)可以设置,不用代码控制。

解决方案 »

  1.   

    不能自动排序,你应该在点击后找出用户所点击的字段名,并生成相应的select ... order by ... SQL语句再取一次数据!
      

  2.   

    具体讲是dbgrideh的哪个属性,如何设置????????
      

  3.   

    1 、设置dbgrideh控件的autosorting为true;
    2、在ontitlebuttonclick事件里xieruprocedure TFrm_Intowarehouse.DBGridEh1TitleBtnClick(Sender: TObject;
      ACol: Integer; Column: TColumnEh);
    begin
      case column.Title.SortMarker of
      smdowneh : ado_intowarehouse.Sort := column.FieldName + ' DESC';
      smupeh   : ado_intowarehouse.Sort := column.FieldName;
      smnoneeh : ado_intowarehouse.Sort := '';
      end;
    end;
      

  4.   

    好像还要设置一些titlebutton属性之类的;
    一时没找到;你看下;
      

  5.   

    这个问题再简单不过了。
    单击title的时候,按所点击的列排序只要一句代码:AdoQuery1.Sort:=Column.fieldname+' desc';搞定!