注册 登录
编程论坛 Delphi论坛

delphi 中控件问题

余姚威尔 发布于 2013-03-07 11:30, 460 次点击
delphi 7 中有没有一种空间可以对数据排序的,就是有这样一个属性 可以点击它让数据进行升序降序排列的。有知道的说说
3 回复
#2
mayanzs2013-03-10 11:44
Ehlib控件组中的DbGridEh控件,可以点击字段标题按其排序。
#3
有容就大2013-03-11 16:46
不清楚DELPHI7的
现在俺都用第三方控件 Dev Express 里面的 TcxGrid
#4
f6051499402013-03-26 15:41
ListView可以做到。
Var
   m_bSort : Boolean=False;
function   CustomSortProc(Item1,Item2:TListItem;ParamSort:integer): integer; stdcall;
var   txt1,txt2:string;
begin   
  if ParamSort <>0 then
  begin
    txt1 := Item1.SubItems.Strings[ParamSort-1];
    txt2 := Item2.SubItems.Strings[ParamSort-1];
    if m_bSort then
    begin
      Result := CompareText(txt1,txt2);
    end
    else
    begin
      Result := -CompareText(txt1,txt2);
    end;
  end
  else
  begin
    if m_bSort then
    begin
      Result := CompareText(Item1.Caption,Item2.Caption);
    end
    else
    begin
      Result := -CompareText(Item1.Caption,Item2.Caption);
    end;
  end;
end;   


procedure TForm1.ListView1ColumnClick(Sender: TObject;
  Column: TListColumn);
var
  i : Integer;
  Str1List,Str2List : TStringItem;
begin
  ListView1.CustomSort(@CustomSortProc,   Column.Index);
  m_bSort := not m_bSort;
end;
1