Вниз
Скачать: CL | DM;

Сортировка ListView по 2-ой колонке   Найти похожие ветки 

 
Serov_Kiril   (2009-11-24 17:35) [0]

На форме находится ListView(1-ая колонка - поставщик,2-ая кол.заказов) Нужно отсортировать ListView по второй колонке,-наибольшее кол.заказов сверху и вниз по уменьшению кол.заказов. Как лучче сделать сортировку по количеству?


 
clickmaker ©   (2009-11-24 17:41) [1]

CustomSort()


 
Serov_Kiril   (2009-11-24 18:07) [2]

Разве CustomSort не по алфавиту тогда отсортирует? Мне нужно по наибольшему значению во второй колонке..
Может так:
procedure TForm1.ListView1Compare(Sender: TObject; Item1, Item2: TListItem;
 Data: Integer; var Compare: Integer);
var
n1, n2: integer;
begin
n1 := StrToInt(Item1.SubItems[0]);
n2 := StrToInt(Item2.SubItems[0]);
if n1 > n2 then
  Compare := -1
else if n1 < n2 then
  Compare := 1
else
  Compare := 0;
end;  ???


 
Serov_Kiril   (2009-11-24 18:20) [3]

Не работает :( А если установить SortType в stBoth ваще RunTime Error Out of bounds ;(


 
MBo ©   (2009-11-24 19:58) [4]

А разве у функции сравнения такой прототип должен быть?


 
Сергей М. ©   (2009-11-24 20:09) [5]


> procedure TForm1.ListView1Compare(Sender: TObject; Item1,
>  Item2: TListItem;
>  Data: Integer; var Compare: Integer);


Это что за ахинея ?
Справка для кого писана ?

function CustomSortProc(Item1, Item2: TListItem; ParamSort: integer): integer; stdcall;


 
Демо ©   (2009-11-24 21:15) [6]


> Serov_Kiril   (24.11.09 18:20) [3]


CustomSortProc - это функция обратного вызова и должна ltrkfhbhjdfnmcz именно так, как описана в справке.

В Help даже пример есть:

function CustomSortProc(Item1, Item2: TListItem; ParamSort: integer): integer; stdcall;
begin
  Result := -CompareText(Item1.Caption,Item2.Caption);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ListView1.CustomSort(@CustomSortProc, 0);
end;



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.007 c
4-1226580293
DevilDevil
2008-11-13 15:44
2010.01.17
Bitmap, 8bit. Серая палитра.


2-1258705344
Мишаня
2009-11-20 11:22
2010.01.17
Как узнать курс валют?


15-1258398854
_
2009-11-16 22:14
2010.01.17
Клавиатура отказывает.


15-1258023746
stas
2009-11-12 14:02
2010.01.17
Альтернатива TWebBrowser


2-1258963629
Knight
2009-11-23 11:07
2010.01.17
Как правильно сделать запрос-ответ...




   Наверх