DataGrid排序错误:必须至少有一个对象实现
2010-09-11 01:30
295 查看
当DataGrid使用对象进行了分组时候,该对象类型必须实现 IComparable 接口,否则出错:必须至少有一个对象实现。
代码如下:
代码public class TaskProject : IComparable, IComparable<TaskProject>
{
public int ProjectId { get; set; }
public string ProjectName { get; set; }
public override string ToString()
{
return this.ProjectName;
}
#region IComparable 成员
public int CompareTo(object obj)
{
return this.CompareTo(obj as TaskProject);
}
#endregion
#region IComparable<TaskProject> 成员
public int CompareTo(TaskProject other)
{
if (other == null)
{
return -1;
}
return this.ProjectId - other.ProjectId;
}
#endregion
}
代码如下:
代码public class TaskProject : IComparable, IComparable<TaskProject>
{
public int ProjectId { get; set; }
public string ProjectName { get; set; }
public override string ToString()
{
return this.ProjectName;
}
#region IComparable 成员
public int CompareTo(object obj)
{
return this.CompareTo(obj as TaskProject);
}
#endregion
#region IComparable<TaskProject> 成员
public int CompareTo(TaskProject other)
{
if (other == null)
{
return -1;
}
return this.ProjectId - other.ProjectId;
}
#endregion
}
相关文章推荐
- DataGrid排序错误:必须至少有一个对象实现
- 关于“必须至少有一个对象实现 IComparable。”问题的另一中错误 解法
- 一个操作系统的实现--mount错误解决办法--mount 您必须指定文件系统的类型
- 一个实现自动求和/合并单元格/排序的DataGrid
- 编写一个多线程函数实现对数组排序,要求: 1.至少用两个线程 2.数组的元素值可以事先定义好,或者可以从键盘输入(增加一个线程)。 3.用一个线程对数组排序,用另一个线程输出排序结果。 4.保证先排好序,再输出。
- 实践证明:当类想实现两个监听接口的时候,必须把两个都设置成内部类,不可能一个是外部类实现,一个是内部类实现。这样容易捕获错误,出现异常。
- 定义一个List集合并实例化对应的实现类对象。循环输入任意个整数,输入0结束输入循环,对集合中的数据进行从大到小的排序后输出
- Ilist排序,写一个对象比较的类,实现IComparer接口
- 写一个算法,使对象可以像数组一样进行foreach循环,要求属性必须是私有的(Interator模式的PHP5实现,写一类实现Interator接口)
- 一个实现自动求和/合并单元格/排序的DataGrid
- 一个实现自动求和、合并单元格、排序的DataGrid(转)
- [VB.NET]对象必须实现 IConvertible" 的错误
- 一个实现自动求和/合并单元格/排序的DataGrid
- 反射技术将查询结果封装为对象_编写一个基本的连接池来实现连接的复用
- MVVM-Light模式,在dataGrid的模板下,绑定事件不触发的原因已经服务端排序的实现
- 在系统启动时至少有一个服务或驱动程序产生错误。详细信息,请使用时间查看器查看事件日志
- Microsoft JET Database Engine 错误 '80004005' 操作必须使用一个可更新的查询。问题解决办法
- java ArrayList集合中的某个对象属性进行排序的实现代码
- 创建对象挑选时出现了一个错误出现了一个没有描述的错误
- Win2003在系统启动时至少有一个服务或驱动程序产生错误