ClientDataSet的动态排序

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 便可

http://blog.csdn.net/whw6_faye/article/details/1754084.net

相关文章
相关标签/搜索