How to implement custom sorting of the fields inside datasources? (Winforms Edition 2.0)
Last modified:
The following code implements custom sorting of fields by description, having fields without descriptions at the bottom.
private void queryBuilder1_CustomizeDatasourceFieldList(QueryBuilder queryBuilder, DataSource datasource, MetadataFieldList fieldList) { fieldList.Sort(new SortFieldsByDescriptionComparer()); } private class SortFieldsByDescriptionComparer: IComparer { int IComparer.Compare(MetadataCollectionItemBase qn1, MetadataCollectionItemBase qn2) { MetadataField f1 = (MetadataField) qn1; MetadataField f2 = (MetadataField) qn2; int result = String.Compare(f1.ShortDescription, f2.ShortDescription, true); if (result == 0) { result = String.Compare(f1.AltName, f2.AltName, true); if (result == 0) { result = String.Compare(f1.NameStr, f2.NameStr, true); } } return result; } }