说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

请问各位高手,如何只利用TTable控件实现记录的排序??? 谢谢指点!

编辑:说三道四文库 发布时间:2018-04-20 05:43
HTML文档下载 WORD文档下载 PDF文档下载
我现在需要实现只通过TTable和DBGrid实现排序功能,请问各位高手如何实现!
只有靠索引了,必须已有索引才行
procedure TForm1.DBGrid1TitleClick(Column: TColumn);
var
DataSet:TdataSet;
begin
  DataSet := Column.Field.DataSet;
    if DataSet is TCustomDataSet then
    begin
      screen.cursor:=crhourglass;
      try
        with TCustomDataSet(DataSet) do
          if (Pos(Column.Field.FieldName, Sort) = 1) and (Pos(' DESC', Sort) = 0) then
            begin
              Sort := Column.Field.FieldName + ' DESC';
              StatusBar1.panels[0].Text:=column.field.DisplayLabel+ ' :按下降排序';
            end
          else
            begin
              Sort := Column.Field.FieldName + ' ASC';
              StatusBar1.panels[0].Text:=column.field.DisplayLabel+ ' :按上升排序';
            end;
      finally
        screen.cursor:=crdefault;
      end;
    end;
end;
回答完了,请加分!
设置TABEL的indexfieldname为要排序的字段名就可以了
对了,上面的只试用于Adotable
对了,上面的只试用于Adotable
TCustomDataSet应该是TCustomAdoDataSet
 2 wanwangzhiwang(万王之王) :
   TcustomDataset在那个单元里声明的?
刚刚看到!
只怪CSDN页面处理太慢了。
设置TABEL的indexfieldname为要排序的字段名就可以了 
thedream(梦幻使者)的方法也可以,但必须是索引字段才行!
Thanks for your help !!!
设置TABEL的indexfieldname为要排序的字段名就可以了 ,但要先建立索引
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘