Проблема с группировкой - PullRequest
1 голос
/ 18 августа 2011

У меня есть следующий код (компонент DevExpress):

dgvDisplayDictionary.DataSource = DataAccessor.GetAllRecords();

gvDisplay.BeginSort();
gvDisplay.ClearGrouping();
gvDisplay.Columns[0].GroupInterval = ColumnGroupInterval.Alphabetical;
gvDisplay.Columns[0].GroupIndex = 0;
gvDisplay.EndSort();

Я получаю следующую ошибку:

At least one object must implement IComparable.

Мой класс привязывается к gvDisplay:

public class NormDocCost:AbstractDisplayDictionary.
    {            
        public virtual Category Category { get; set; }            
        public virtual DocumentFormat DocumentFormat { get; set; }            
        public virtual Translate Translate { get; set; }
        public virtual int NdcId { get; set; }           
        public virtual int PageStart { get; set; }         
        public virtual int PageEnd { get; set; }          
        public virtual double Cost { get; set; }            
        public virtual DateTime? DateFrom { get; set; }            
        public virtual DateTime? DateTo { get; set; }
   }

Я пытаюсь написать этот код, но не работает:

public int CompareTo(object other)
        {
            var obj = (NormDocCost)other;
            if(obj.Category.Id == Category.Id)
            {
                return this.Category.NameRu.CompareTo(obj.Category.NameRu);
            }
            return obj.Category.Id.CompareTo(Category.Id);
        }

1 Ответ

1 голос
/ 18 августа 2011

Когда сетка группирует записи, она сначала сортирует их, а затем создает группы только на основе строк с одинаковыми значениями в столбцах группы. Итак, я склонен думать, что первый столбец связан с полем Категорий. Какой это тип? Я думаю, что сетка не может сравнивать значения этого поля, и поэтому возникает это исключение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...