Knowledgebase

status_loader
Die folgenden Inhalte sind nicht auf Deutsch verfügbar.

Sorting custom columns

Frage / Problem

I have added a custom column to the TJamShellList that adds date values for the individual items. The user can sort the column by clicking on the column header, but the column is not sorted by date, but alphabetically. How can I fix this?

Antwort / Lösung

ShellBrowser per default uses an alpha-numerical comparison method on the custom column texts of the items, that unfortunately doesn't respect date values.

You can however custom sort the affected columns by implementing the "OnCompare" event, e.g.:

procedure TMainForm.JamShellList1Compare(Sender: TObject; Item1,
  Item2: TListItem; Data: Integer; var Compare: Integer);
var lDate1, ldate2: TDateTime;
begin
  if JamShellList1.Columns[JamShellList1.SortColumn].Caption = 'Custom date column' then begin
    lDate1 := StrToDateTime(Item1.SubItems[JamShellList1.Columns[JamShellList1.SortColumn].SubItemIndex]);
    lDate2 := StrToDateTime(Item2.SubItems[JamShellList1.Columns[JamShellList1.SortColumn].SubItemIndex]);
    Compare := CompareDateTime(lDate1, lDate2);
  end;
end;

Brauchen Sie weitere Hilfe?

Keine passende Antwort gefunden? Kontaktieren Sie uns, damit wir Ihre Frage beantworten können.

Kontaktformular