有关于排序的问题,请进。(30分)

  • 主题发起人 主题发起人 sunys
  • 开始时间 开始时间
那字段的顺序呢,如何做。最好能给个例子。谢谢了
 
比如:
ClientDataSet1.IndexDefs.Clear;
ClientDataSet1.AddIndex('Index1', 'CustNo;Company', [], 'CustNo', 'Company');
ClientDataSet1.IndexName := 'Index1';
这样就增加了一个索引Index1,索引按照CustNo字段的降序排列,然后按照Company字段的升序排列。
 
多谢谢了。能否说说
'Index1', 'CustNo;Company', [], 'CustNo', 'Company'
(把排序的字段写在这里) 降 升 ?是否这样?
他的规则是如何。
 
'Index1', 'CustNo;Company', [], 'CustNo', 'Company'
'CustNo;Company'————这个应该是把字段的排序顺序写在这里,后面的CustNo表降序就是
说把降序的字段写在这里,同理COMPANY也是这个道理了?
 
你看一下相应函数的帮助吧,那里面写的很详细。
 
你把DBGrid换成ListView来写,写几句话就可以排序了
ListView1.OnCompare event
procedure TForm1.ListView1Compare(Sender: TObject;
Item1,
Item2: TListItem;
Data: Integer;
var Compare: Integer);
begin
//Data就是CustomSort的参数,你可以传个指针过来,转成自己所用的信息,然后
//区别出是该上/下排
if Data = -1 then
Compare := AnsiCompareText(Item1.Caption, Item2.Caption) else
Compare := AnsiCompareText(Item1.SubItems[Data], Item2.SubItems[Data]);
end;

//将Columns.Imageindex加入一些像上/下箭头
ListView1 ColumnClick event
procedure TForm1.ListView1ColumnClick(Sender: TObject;
Column: TListColumn);
begin
ListView1.CustomSort(nil, Column.Index - 1);
end;

 
多人接受答案了。
 
后退
顶部