TS sorts the ValueListEditor using vlEditor.Strings.Sort;
This is not the same as TStringGrid.Sort.
The underlying data in a TValueListEditor are kept in a TStrings descendant.
All data manipulation is internally handled as manipulating these TStrings.
The grid is just a visual front-end.
It's an ugly design IMO.
However, directly manipulating the Strings property should not lead to visual anomalies, nor should it delete a cells content in this case.
Q: is the content really deleted, or does it just no show anymore?
I'm unsure how this can be fixed.
Your suggestion to implement Sort/CustomSort is good though, but it won't solve th eproblem TS described.
(The errormessage should of course be a resourcestring)
Feel free to implement that (otherwise open a bugreport an assign it to me).
There may be more methods of TCustomDrawGrid that may screw up a TValueListEditor
I tried to override the ones I found in the past.
Bart