• DataTable 排序 查询



    以前在2003中如果想对DataTable中的原始记录进行排序,好像只能用Select方法。如果用DataView.Sort的话,原始的DataTable并不发生排序,所以只用于显示的话还可以。这个问题困扰了我很长时间。使用2005有一年时间了,对于此问题,一直也是使用Select方法解决,在公司别人问我时,我还说没有什么好方法。
        今天仔细看了一下.Net 2005的DataView类,发现除了Table属性外,还多了一个ToTable方法,当时就感觉好像是解决这个问题的,写了一小段方法试了一下,果然如此。代码如下:
                DataTable dt = new DataTable();

                dt.Columns.Add("A");

                for (int i = 5; i >= 0; i--)
                {
                    DataRow dr = dt.NewRow();
                    dr["A"] = i;
                    dt.Rows.Add(dr);
                }

                //DataView dv = new DataView(dt);
                dt.DefaultView.Sort = "A ASC";
                dt = dt.DefaultView.ToTable();

        这一年写的代码都还是用Select先筛选,在重新放回DataTable中。实在太不智慧了,还告诉别人没有好方法,真是惭愧。看来以后什么问题都要仔细看看再说话。

                searchRows = ImportData(strWeatherOutPath).Select(strConditon.ToString(), "时间 desc");
                foreach (DataRow searchRow in searchRows)
                {
                    dtResult.ImportRow(searchRow);
                }
                dtResult = dtResult.DefaultView.ToTable(true, "时间", "1型", "2型", "3型", "4型");
                dgvMode.DataSource = dtResult;

                dtResult.DefaultView.Sort = "时间 asc";
                DataTable graphDataTable = dtResult.DefaultView.ToTable();
                modeMain.drawGraph(graphDataTable);

  • 相关阅读:
    jQuery中$.proxy()的原理和使用
    JS中各种宽度、高度、位置、距离总结
    js中得call()方法和apply()方法的用法
    google浏览器翻译失败解决方案
    js区分移动设备与PC
    知识积累
    Django
    leetcode 27.Remove Element
    leetcode 28. Implement strStr()
    21. Merge Two Sorted Lists
  • 原文地址:https://www.cnblogs.com/hewenhaotc/p/1837867.html
Copyright © 2020-2023  润新知