Hallo, Experten.
Ich stehe vor folgendem Problem.
Wenn ich die Daten für die Items über eine Klasse in das TIObject des Grid's einfüge, werden diese
automatisch alphabetisch sortiert.
Diese Sortierung möchte ich deaktivieren um eine eigene Reihenfolge der Items darzustellen.
Ich finde leider keinen Parameter/Methode, der eine Sortierung ermöglicht bzw. deaktiviert.
Bitte helfe mir jemand auf die Sprünge.
Frage zu TTIPropertyGrid
Re: Frage zu TTIPropertyGrid
Zur Zeit ist dies nicht vorgesehen. Also ich kann das zwar in Lazarus Trunk einbauen, aber ich weiß nicht, wie dringend so eine eigene Sortierung ist.
Anbei ein Patch, was in objectinspector.pp angepasst werden müsste.
Dann könnte man im eigenem Projekt sowas machen (Beispiel components/rtticontrols/examples/example1):
Anbei ein Patch, was in objectinspector.pp angepasst werden müsste.
Dann könnte man im eigenem Projekt sowas machen (Beispiel components/rtticontrols/examples/example1):
Code: Alles auswählen
uses ..., ObjectInspector;
...
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
end;
...
function MyCompareFunc(Item1, Item2: Pointer): Integer;
begin
// z.B. Sortierung von Z..A
Result := CompareText(TOIPropertyGridRow(Item2).Name,
TOIPropertyGridRow(Item1).Name);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
TIPropertyGrid1.CompareFunc := @MyCompareFunc;
TIPropertyGrid1.BuildPropertyList;
end;
- Dateianhänge
-
objectinspector.pp.patch
- (1.54 KiB) 57-mal heruntergeladen
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
- kpmais
- Beiträge: 42
- Registriert: Di 26. Mai 2020, 08:51
- OS, Lazarus, FPC: Winux (L 2.0.12, FPC 3.2.0; Debian/Win7)
- CPU-Target: x86-64
- Wohnort: Saarlouis/Saarland
Re: Frage zu TTIPropertyGrid
Da ich nichts bei der Recherche gefunden hatte dachte ich mir das schon in etwa.
Vielen Dank für den Hinweis und den Patch.
Ich werde mich darin einarbeiten.
Danke nochmals ...
Klaus-Peter ....
Vielen Dank für den Hinweis und den Patch.
Ich werde mich darin einarbeiten.
Danke nochmals ...
Klaus-Peter ....