zoukankan      html  css  js  c++  java
  • DataTable中如何去除重复的项【转】

    上周在项目中遇到一个问题,就是获取DataTable中某一列的值,因为从数据库中检索数据时,按照2个字段进行分组,而要获得的那一列刚好在分组这两列中,所以该列的值必然有重复,于是就想到了去除重复,有了思路以后在网上看了一些方法,大都是遍历之类的,虽说功能是可以实现,但是效率太低了,最后发现了一个简单的方法,如下:

     public string[] GetNamesFromDataTable(DataTable dataTable)
            {
                DataView dv = dataTable.DefaultView;
                dataTable = dv.ToTable(true, "Name");
                string[] names = new string[dataTable.Rows.Count];
                for (int i = 0; i < names.Length; i++)
                {
                    names[i] = dataTable.Rows[i][0].ToString();
                }
                return names;
            }

      

    解析:DataView.ToTable()方法有四个重载方法,分别如下:

          ToTable():根据现有的DataView中的行,创建并返回一个新的DataTable

          ToTable(string tableName):功能如上,只不过是为新的DataTable赋了一个名字

          ToDataTable(bool distinct,parm string[] columnNames):根据现有的DataView中的行创建并返回DataTable,distinct,为true,则返回所有列都具有不同值的行,第二个参数为一个字符数组,即可以指定要获取的列,上边的例子中,只指定了一列,即获取某一列的不重复的信息。

          ToDataTable(string tableName,bool distinct,parm string[] columnNames);功能如上,只不过多了一个DataTableName

     

  • 相关阅读:
    jQuery 语法
    HTML DOM Document 对象
    JavaScript
    JavaScript Cookies
    JavaScript 计时事件
    九度OJ 1352 和为S的两个数字
    九度0J 1374 所有员工年龄排序
    九度OJ 1373 整数中1出现的次数(从1到n整数中1出现的次数)
    九度OJ 1370 数组中出现次数超过一半的数字
    九度OJ 1361 翻转单词顺序
  • 原文地址:https://www.cnblogs.com/netlyf/p/4207969.html
Copyright © 2011-2022 走看看