日期:2014-05-18  浏览次数:20768 次

这样实现不了排序么,为什么
C# code

DataTable dt = new DataTable();

            dt.Columns.Add("St", System.Type.GetType("System.String"));//直接为表创建一列
            dt.Columns.Add("PlanCoil", System.Type.GetType("System.String"));
            dt.Columns.Add("Coil", System.Type.GetType("System.String"));
            dt.Columns.Add("Dt", System.Type.GetType("System.String"));
            dt.Columns.Add("Row", System.Type.GetType("System.String"));
            dt.Columns.Add("Out", System.Type.GetType("System.String"));
            dt.Columns.Add("Lv", System.Type.GetType("System.String"));

            
            //添加
            DataRow dr=dt.NewRow();
            dr["St"]=St;
            dr["PlanCoil"]=PlanCoil;
            dr["Coil"]=Coil;
            dr["Dt"]=Dt;
            dr["Row"]=Row;
            dr["Out"]=Out;
            dr["Lv"]=Lv;
            dt.Rows.Add(dr);

            //排序

            DataTable t = dt.Clone();
            DataRow[] rows=dt.Select ("","PlanCoil");
            t.Clear();
            foreach (DataRow r in rows)
            {
                t.ImportRow(r);
                dt = t;
            } 



------解决方案--------------------
排序可以考虑用DataView
------解决方案--------------------
可以排序的,没有什么问题啊,是不是你的排序字段是数值意义的,而你又是按字符串格式排序?
不过代码dt=t放到foreach中似乎没有什么意义,要获得String的Type最好用typeof(string),比System.Type.GetType("System.String")类型安全,效率高些
------解决方案--------------------
加一个Int32类型的排序字段