Ok, a follow up -
My DataSource is bound to an entity collection of type"ExamEntryEntity". If my initial sorter is an ExamEntryField then everything works fine.
However, if my initial sorter is based on a field from a different (but related) entity then it will not work when SortingMode is set to clientside (but it works fine for serverside).
Example:
My Data source
<CW:LLBLGenProDataSource2 runat="server" ID="dsStatement" AdapterTypeName="DataLibrary.DatabaseSpecific.DataAccessAdapter, DataLibraryDBSpecific"
DataContainerType="EntityCollection" EntityFactoryTypeName="DataLibrary.FactoryClasses.ExamEntryEntityFactory, DataLibrary" SortingMode="clientSide">
</CW:LLBLGenProDataSource2>
Sorter that works:
SortExpression sorter = new SortExpression();
sorter.Add(ExamEntryFields.SubjectCode | SortOperator.Ascending);
dsStatement.SorterToUse = sorter;
Sorter that doesn't work:
dsInfo.FilterToUse = new RelationPredicateBucket();
dsStatement.FilterToUse.Relations.Add(ExamEntryEntity.Relations.SubjectEntityUsingSubjectCode);
SortExpression sorter = new SortExpression();
sorter.Add((SubjectFields.SubjectArea | SortOperator.Ascending));
dsStatement.SorterToUse = sorter;