保存到datatable 中 用dataview的sort 属性。
sf

解决方案 »

  1.   

    override Compare 方法。。
    或者 實現自己的比較方法MyComp()然後用Sort(MyComp)..應該都可以
    第二種方法我在List上是可以的
      

  2.   

    楼主可以参考下面的代码:protected override void OnClick(EventArgs e)
    {
    base.OnClick(e); object[] ar ={ new object[] { "1", "ss", 1 }, new object[] { "11", "dd", 0 }, new object[] { "23", "ff", 4 }, new object[] { "1111", "gg", 5 } }; Comparer com = new Comparer();
    com.Index = 0;
    Array.Sort(ar, com);
    printAr(ar); com.Index = 1;
    Array.Sort(ar, com);
    printAr(ar); com.Index = 2;
    Array.Sort(ar, com);
    printAr(ar);
    }private void printAr(object[] ar)
    {
    for (int i = 0; i < ar.Length; i++)
    {
    object[] t = ar[i] as object[];
    if (t != null)
    {
    for (int _i = 0; _i < t.Length; _i++)
    {
    Console.Write(t[_i]);
    Console.Write("\t");
    }
    }
    Console.WriteLine();
    }
    Console.WriteLine();
    }
    public class Comparer : IComparer
    {
    private int index; public int Index
    {
    get { return index; }
    set { index = value; }
    } public int Compare(object x, object y)
    {
    return string.Compare((x as object[])[index].ToString(), (y as object[])[index].ToString());
    }
    }
      

  3.   

    输出结果为:
    1 ss 1
    11 dd 0
    1111 gg 5
    23 ff 4 11 dd 0
    23 ff 4
    1111 gg 5
    1 ss 1 11 dd 0
    1 ss 1
    23 ff 4
    1111 gg 5
      

  4.   

    比较的类我没有和数据类型相关,我改了一下,大致这样:public class Comparer : IComparer
    {
    private int index; public int Index
    {
    get { return index; }
    set { index = value; }
    } public int Compare(object x, object y)
    {
    object v1 = (x as object[])[index];
    object v2 = (y as object[])[index];
    if (v1 is string && v2 is string)
    {
    return string.Compare((string)v1, (string)v2);
    }
    if (v1 is int && v2 is int)
    {
    if ((int)v1 > (int)v2) return 1;
    if ((int)v1 == (int)v2) return 0;
    if ((int)v1 < (int)v2) return -1;
    }
    return 0;
    }
    }
      

  5.   

    用databiding比较简单, 如果不在控件上显示就自己实现一个comparer,或者用IComparable