//按钮"加载"的单击事件,向集合中添加数据
private void button1_Click(object sender, System.EventArgs e)
{
arr.Add(new Number("3"));
arr.Add(new Number("2"));
arr.Add(new Number("1"));
arr.Sort();
this.dataGrid1.DataSource=arr;
DataGridTableStyle ts=new DataGridTableStyle();
ts.MappingName="ArrayList";
DataGridTextBoxColumn cs=new DataGridTextBoxColumn();
cs.MappingName="getNumber";
cs.Format="f4";
ts.GridColumnStyles.Add(cs);
this.dataGrid1.TableStyles.Clear();
this.dataGrid1.TableStyles.Add(ts);
}//类
public class Number
{
private string number;
public Number(string num)
{
number=num;
} public string getNumber
{
get
{
return number;
}
set
{
number=value;
}
}
}在执行铵钮的单击事件时出现异常了.
arr.Sort();
this.dataGrid1.DataSource=arr;//在这个地方抛出异常了异常信息为:
未处理的“System.InvalidOperationException”类型的异常出现在 mscorlib.dll 中。其他信息: 指定的 IComparer 引发异常。哪位大哥帮我解决一下.谢谢!
private void button1_Click(object sender, System.EventArgs e)
{
arr.Add(new Number("3"));
arr.Add(new Number("2"));
arr.Add(new Number("1"));
arr.Sort();
this.dataGrid1.DataSource=arr;
DataGridTableStyle ts=new DataGridTableStyle();
ts.MappingName="ArrayList";
DataGridTextBoxColumn cs=new DataGridTextBoxColumn();
cs.MappingName="getNumber";
cs.Format="f4";
ts.GridColumnStyles.Add(cs);
this.dataGrid1.TableStyles.Clear();
this.dataGrid1.TableStyles.Add(ts);
}//类
public class Number
{
private string number;
public Number(string num)
{
number=num;
} public string getNumber
{
get
{
return number;
}
set
{
number=value;
}
}
}在执行铵钮的单击事件时出现异常了.
arr.Sort();
this.dataGrid1.DataSource=arr;//在这个地方抛出异常了异常信息为:
未处理的“System.InvalidOperationException”类型的异常出现在 mscorlib.dll 中。其他信息: 指定的 IComparer 引发异常。哪位大哥帮我解决一下.谢谢!
解决方案 »
- WindowsFormsApplication1.Form1.Button1隐藏了继承的成员System.Windows.Forms.Control.Enter
- 如何点击数据 让其显示在下方的textbox中
- 调用资源文件中光标
- 在C#程序中 获得xml节点的序号
- 高高高手请进?~~~~~~~
- 未将对象引用设置到对象的实例,请问如何解决
- 当 DataTable 中的某一行被删除了,那么对应的 DataView 的行怎么就变成 null 了呢?
- datagridview 中,一个小问题
- 求能绕过客户端脚本验证的工具或源代码!!!急!!!
- 各位大侠、MVP大哥 出来回答问题啦! 拜托~ 拜托~ 拜托~
- MDI程序中,窗口能否即是子窗体,又是父窗体,该如何实现???
- 很棘手的問題.請各位幫幫忙.先謝了
arr在前面已经声明
ArrayList arr=new ArrayList();
public class Number : IComparable
{
private string number;
public Number(string num)
{
number = num;
} public string getNumber
{
get
{
return number;
}
set
{
number = value;
}
} #region IComparable Members public int CompareTo(object obj)
{
Number objNum = obj as Number;
if (objNum == null) throw new ArgumentException();
if (objNum.getNumber == this.number) return 0;
return Convert.ToInt32(objNum.getNumber) > Convert.ToInt32(this.number) ? -1 : 1;
} #endregion
}
给Number类添加排序方法,否则无法排序
arr.Add(new Number("2"));
arr.Add(new Number("1"));
//arr.Sort();去掉这一句也可以的,否则就必须用实现IComparable接口
...
...
if (objNum == null) throw new ArgumentException();
if (objNum.getNumber == this.number) return 0;
return Convert.ToInt32(objNum.getNumber) > Convert.ToInt32(this.number) ? -1 : 1;不好意思.我要比较的是字符串.
这个地方要怎么修改呢?
在等级..