起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 159|回复: 2

点击DataGrid的列头,排序是否可以改成默认是降序?**

[复制链接]
发表于 2009-6-12 10:59:09 | 显示全部楼层 |阅读模式
如题,现在默认是点一下是升序,再点一下是降序,能不能换过来?多谢!
回复

使用道具 举报

发表于 2009-6-12 16:31:04 | 显示全部楼层
这个改不了。在控件内部呢。
回复 支持 反对

使用道具 举报

发表于 2009-6-12 21:33:25 | 显示全部楼层
补充一句,在不改变控件的情况下,自己去接管这个排序(不知道是否可以满足楼主的要求)
仅供参考(控制第一列的排序)
procedure TMAINFORM.DataGrid2ColumnClick(Sender: TObject; Column: TTreeListColumn);
begin
  if Column.Index = 0 then
  begin
    if (B.DataSet.Order = '') or
       (StringUtils.Length(B.DataSet.Order) =
         StringUtils.Length(DataGrid2.Columns[Column.Index].FieldName)) then
    begin
      B.DataSet.Order := SysUtils.UpperCase(DataGrid2.Columns[Column.Index].FieldName) + ' Desc';
    end
    else
    begin
      if SysUtils.UpperCase(B.DataSet.Order) =
             SysUtils.UpperCase(DataGrid2.Columns[Column.Index].FieldName) then
        B.DataSet.Order := SysUtils.UpperCase(DataGrid2.Columns[Column.Index].FieldName) + ' Desc'
      else
        B.DataSet.Order := SysUtils.UpperCase(DataGrid2.Columns[Column.Index].FieldName);
    end;

    SysUtils.Abort;
  end;
end;

注:B是数据集代理,DataGrid2是一个TDataGrid
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-21 09:39 , Processed in 0.041264 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表