现在的位置: 首页 > 综合 > 正文

ClientDataSet的动态排序

2018年04月07日 ⁄ 综合 ⁄ 共 887字 ⁄ 字号 评论关闭
ClientDataSet 的动态排序可以通过以下代码实现
1.单一字段的升序和降序
with cds do
begin
  IndexDefs.Update;
  
if IndexDefs.IndexOf('index1'>= 0 then
  DeleteIndex(
'index1');
  AddIndex(
'index1', SortFieldName, [], '');
  IndexName :
= 'index1';
  First;
end;

with cds do
begin
  IndexDefs.Update;
  
if IndexDefs.IndexOf('index1'>= 0 then
  DeleteIndex(
'index1');
  AddIndex(
'index1', SortFieldName, [], SortFieldName);
  IndexName :
= 'index1';
  First;
end;

2.复合字段的升序和降序

with cds do
begin
  IndexDefs.Update;
  
if IndexDefs.IndexOf('index2'>= 0 then
    DeleteIndex(
'index2');
  AddIndex(
'index2''SortField1, SortField2', [], '');
  IndexName :
= 'index1';
  First;
end;

with cds do
begin
  IndexDefs.Update;
  
if IndexDefs.IndexOf('index2'>= 0 then
    DeleteIndex(
'index2');
  AddIndex(
'index2''SortField1, SortField2', [], 'SortField1, SortField2');
  IndexName :
= 'index2';
  First;
end;

3.复合字段的复合排序
传入参数  SortField1, SortField2, [], SortField2 即可

抱歉!评论已关闭.