Один из столбцов в моей DevExpress xtragrid не сортируется, не группируется и не фильтруется. Ответы на подобные вопросы предполагают, что мне нужно реализовать IComparable, но когда я это сделал, он вообще больше не отображается в столбце.
public class Flow : System.IComparable<Flow>
{
public Flow(int id, string name, string description)
{
this.ID = id;
this.Name = name;
this.Description = description;
}
public int ID { get; private set; }
public string Name { get; private set; }
public string Description { get; private set; }
public override string ToString()
{
return Name;
}
public override bool Equals(object obj)
{
Flow flow = obj as Flow;
if (flow == null) return false;
return this.ID == flow.ID;
}
public static bool operator ==(Flow flow1, Flow flow2)
{
if (object.ReferenceEquals(null, flow1))
return object.ReferenceEquals(null, flow2);
return flow1.Equals(flow2);
}
public static bool operator !=(Flow flow1, Flow flow2)
{
return !(flow1 == flow2);
}
public override int GetHashCode()
{
return ID;
}
public int CompareTo(Flow other)
{
return this.Name.CompareTo(other.Name);
}
}
Что я сделал не так?
ОБНОВЛЕНИЕ:
На вопрос DevExpress...
IComparable
как при внутреннем сравнении. - person Dave New   schedule 25.01.2013XtraGrid
такой ужасно спроектированный элемент управления. Вероятно, вам также необходимо установить различные свойства. - person Dave New   schedule 25.01.2013IComparable
определенно указывает больше, равно или меньше. Это интерфейс де-факто, используемый для сравнения объектов. - person Dave New   schedule 25.01.2013