zoukankan      html  css  js  c++  java
  • 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);

  • 相关阅读:
    反Secure Boot垄断:兼谈如何在Windows 8电脑上安装Linux
    火车售票系统(数据结构课设)
    货物管理系统(数据结构链式表)
    货物管理系统(数据结构顺序表)
    进制转换器(十进制转n进制)
    大学生成绩管理系统(C语言)
    如何对Linux的grub进行加密
    戴文的Linux内核专题:07内核配置(3)
    戴文的Linux内核专题:06配置内核(2)
    戴文的Linux内核专题:05配置内核(1)
  • 原文地址:https://www.cnblogs.com/hewenhaotc/p/1837867.html
Copyright © 2011-2022 走看看