【代码】.NET对DataTable进行排序

2021-09-29 10:05:13  阅读 2353 次 评论 0 条

主要思路就是实例化一个视图,对视图进行排序

 /// <summary>
        /// DataTable排序
        /// </summary>
        /// <param name="dt">要处理的DataTable</param>
        /// <param name="sortColumn">要根据什么字段排序</param>
        /// <param name="sortType">排序方式,1为倒序</param>
        /// <returns></returns>
        public DataTable sortDataSet(DataTable dt, string sortColumn, int sortType=0)
        {
            DataView view = null;
             DataTable ndt=null;
             string sortTypeStr = "ASC";
            if(sortType==1){
                sortTypeStr = "DESC";
            }
            if (dt!=null)
            {
                view = new DataView(dt);
                view.Sort = "["+sortColumn+"] " + sortTypeStr;
                //把DataView转为DataTable,相关代码请参考https://www.yangguangdream.com/?id=2171
                ndt = DataViewToDataTable(view,dt.TableName);
            }

            return ndt;
        }
        
         /// <summary>
        /// 转换DataView至DataTable
        /// </summary>
        /// <param name="dv">要处理的DataView</param>
        /// <param name="tableName">DataTable的名称</param>
        /// <returns></returns>
        public DataTable DataViewToDataTable(DataView dv,string tableName="Table")
        {
            //Clone dv.Table to dtTemp
            DataTable dtTemp = dv.Table.Clone();
            dtTemp.TableName = tableName;

            foreach (DataRowView drv in dv)
                dtTemp.ImportRow(drv.Row);
            return dtTemp;
        }



微信扫码查看本文
本文地址:https://www.yangguangdream.com/?id=2170
版权声明:本文为原创文章,版权归 编辑君 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

还没有留言,还不快点抢沙发?