我现在遇到了一个问题就是,要求:点击DBGrid的某一标题,然后按照此标题进行排序,并且此标题文字的后面出现向上的三角形符号,;再点击此标题,此标题文字的后面由向上的三角形符号变为向下的三角形符号。。但是,我现在就是不知道这个三角形的符号如何来实现?并且点击一次是向上的再点击为向下的。。请各位高手帮忙解决一下!!多谢了!!
解决方案 »
- delphi:operation cannot mix aggregate value with record-varying value 错误提示什么意思
- 刚学delphi,各位来推荐几本书
- 文件流操作问题!!!
- 我在Rave报表上放了一个databand然后在它上面放了一个datatext为什么不能显示datatext中的数呢???
- 关于将EXCEL中数据导入SQL2000中遇到的问题,在客户处出了问题,急啊,在线等!!!
- Operation not allowed on a unidirectional dataset错误?
- 谁知道如何在程序中调用SQL Builder工具
- 变态CSDN!!!!
- 为什么呢?
- 关于数据库查询的问题,请提供思路,最好有简单代码
- 这里有没有广西来的朋友,进来签个名!
- 求教;delphi控制excel高手
CXGRID,DXDBGRID 等
怎样使表格具有按title button排序的功能?
在ucommon中添加
procedure MakeDBGridEhSort(qry:TQuery;Column:TColumnEh);
var
i: Integer;
strsql: string;
begin
//平,降,升,降,升
if not qry.Active then
begin
exit;
end;
strsql:=qry.SQL.Text;
i:= pos('order by', strsql);
if i>0 then strsql:= copy(strsql, 1, i-1);
case Column.Title.SortMarker of
smUpEh: begin
strsql:= strsql + ' order by ' + Column.FieldName + ' DESC';
end;
smDownEh: begin
strsql:= strsql + ' order by ' + Column.FieldName + ' ASC';
end;
smNoneEh: begin
strsql:= strsql + ' order by ' + Column.FieldName + ' DESC';
end;
end;
with qry do
begin
Active:= False;
SQL.Clear;
SQL.Add(strsql);
Active:= True;
end; // with
end;
双击表格,把TDBGridEh对象中各个button的title|titlebutton属性设为true
选中表格,添加OnTitleBtnClick事件,在其中添加
ucommon.MakeDBGridEhSort(DM.qryCJGL,Column);
将Optioneh.dghAutosorting:=true;这样就不用写代码就能实现排序了吗????请指教我没有用过这个