Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.01.17;
Скачать: [xml.tar.bz2];

Вниз

Сортировка 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 вся ветка

Форум: "Начинающим";
Текущий архив: 2010.01.17;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.004 c
10-1162883922
Provodnick
2006-11-07 10:18
2010.01.17
Проблема с Word`ом в многопоточноми приложении


15-1258493414
Юрий
2009-11-18 00:30
2010.01.17
С днем рождения ! 18 ноября 2009 среда


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


2-1259050457
-=Le][=-
2009-11-24 11:14
2010.01.17
Как узнать ошыбки загрузки страницы в WebBrowser?


2-1258705635
Валера19
2009-11-20 11:27
2010.01.17
Установка точности вычисления данных





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский