首页 > 编程语言 >C#的DataTable排序各种方法

C#的DataTable排序各种方法

时间:2023-11-09 21:48:29浏览次数:40  
标签:DefaultView LinqSortDataTable C# tmpDt 排序 dtTemplate DataTable

在很多时候,我们做datatable排序的时候,在string类型  需要进行数字转换在排序的时候,就不能用自带的,dtTemplate.DefaultView.Sort办法,这时候的排序需要先转换类型,在进行排序。 下面介绍几种转换类型后排序的方法: 第一种:           public DataTable LinqSortDataTable(DataTable tmpDt)           {               DataTable dtsort = tmpDt.Clone();               dtsort = tmpDt.Rows.Cast<DataRow>().OrderBy(r => r["villagecode"].ToDecimal()).CopyToDataTable();               return dtsort;           }  第二种:           public DataTable LinqSortDataTable(DataTable tmpDt)           {               int sortId = 3               DataView dv = tmpDt.DefaultView;               var query = (from item in tmpDt.AsEnumerable()                            orderby (item[sortId].ToDecimal())                            select item);               dv = query.AsDataView();               return  dv.ToTable();           } 当然还有第三种: 这个方法 这个字段 必须提前转好类型,如果类型正确就没事,           public DataTable LinqSortDataTable(DataTable tmpDt)         {              dtTemplate.DefaultView.Sort = " villagecode asc ";             return  dtTemplate.DefaultView.ToTable();         }   效率比较,在本地使用1000行左右。数据 测试。同样条件下,三方法数据字段类型正确。。。 效率,第一与第三最快。 第二种办法LINQ应该在数据量大的时候才会起到效果。。

标签:DefaultView,LinqSortDataTable,C#,tmpDt,排序,dtTemplate,DataTable
From: https://www.cnblogs.com/leon1128/p/17822928.html

相关文章

  • JOISC 2021 Day3 保镖
    Day\(\mathbb{P}_1+\mathbb{P}_2+\mathbb{P}_3+\mathbb{P}_4+\mathbb{P}_5+\mathbb{P}_6\)。放到二维平面上考虑,点\((x,y)\)表示\(x\)时刻在\(y\)位置上,那么第\(i\)顾客的路径可以看成起点为\((t_i,a_i)\),终点为\((t_i+|b_i-a_i|,b_i)\)的线段\(P_i\)。注意到一个......
  • Unity 自定义Postprocess 景深和散景模糊
    前言本篇将介绍如何通过添加RenderFeature实现自定义的postprocess——散景模糊(BokehBlur)和景深关于RenderFeature的基础可以看这篇https://www.cnblogs.com/chenglixue/p/17816447.html景深定义:聚焦清晰的焦点前后可接受的清晰区域,也就是画面中景象清晰的范围如下图相......
  • datatable数据列全转换为字符串
         ///<summary>       ///datatable数据列全转换为字符串       ///</summary>       ///<paramname="sourceTable"></param>       ///<returns></returns>       publicstaticDataTableConvertDataColumType(D......
  • 标题:Dubbo RPC开发中的序列化问题:深度解析反序列化导致的HashMap异常
    DubboRPC开发中的序列化问题:深度解析反序列化导致的HashMap异常在使用DubboRPC进行开发时,我们可能会遇到一些出乎意料的问题。其中之一就是在进行远程调用时,内部嵌套对象出现与预期不符的HashMap。这个问题的根源在于反序列化过程中找不到对象,导致解析成了HashMap。在这篇博客......
  • 冒泡排序
    voidbubble(int*arr,intn){ for(inti=1;i<=n-1;i++) { intflag=1; for(intj=1;j<=n-i;j++) { if(arr[j]>arr[j+1]) { inttemp; temp=a......
  • [题解] CFgym103069G Prof. Pang's sequence
    G.Prof.Pang'ssequence给一个长度为\(n\)的序列\(a\),多次询问区间\([l,r]\)内有多少个子区间的颜色数是奇数。\(n,m\le10^5\)。先按照HH的项链的套路,对于每个数记一下\(lst_i\)表示\(a_i\)上一次出现的位置。然后扫描线,将所有子区间的答案转化成历史和。......
  • 力扣2149 暴力+另建两个vector<int>
    2149. 按符号重排数组解题思路另建两个容器,分别存储正负整数,然后依次正负相间放入numsclassSolution{public:vector<int>rearrangeArray(vector<int>&nums){intn=nums.size(),j=1;vector<int>a,b;for(autoi:nums){if(i<0)b.......
  • 最详细STM32,cubeMX 超声波测距
    这篇文章将详细介绍STM32使用cubeMX驱动超声波测距。@TOC前言实验材料:STM32F103C8T6开发板,HC-SR04超声波模块。所需软件:keil5,cubeMX,AiThinkerSerialTool串口助手。实验目的:了解STM32使用cubeMX驱动超声波。实验:超声波测距。一、超声波模块HC-SR04超声波测距模块可提......
  • Csp-2023 游记
    \(CSP-J1/S1\2023\)\(2023.9.15\)\(7:30\)现在才放学,连夜赶车到余姚。带了自己的笔记本,打了入门赛,没想到评测姬炸了,只交了T1,全喜提UKE。打了2min,然后再电脑上复习了初赛,结果一个没考到。\(21:00\)到酒店了,拼命rp++,膜拜巨佬,拜月。复习了一下,全没考到。早睡了。\(2023.......
  • Oracle工具类
    Oracle工具类publicabstractclassDbHelperOra{//数据库连接字符串(web.config来配置),可以动态更改connectionString支持多数据库.publicstaticstringconnectionString=PubConstant.Conn;publicDbHelperOra(){......