DataTable中,数据量太大,有没有比较好的办法,获取某一列中的所有值。
因为此列中重复值较我,如果用for循环做,觉得可惜了,有没有比较好的方法,类似SQL语句中的select distinct fieldName获取一列中的所有非重复值。
谢谢。

解决方案 »

  1.   

    你可以试试
    linq2datatablevar query=dt.AsEnumerable.Select(d=>d.Field<int>("id")).Distinct();
      

  2.   

    看看这篇文章是否能帮帮你。
    在javascript中获得由Ajax返回DataTable的列数和列名
    http://www.17aspx.com/web/Js/2010/1105/3124.html
      

  3.   


    加菲猫,少了一对括号,var query=dt.AsEnumerable().Select(d=>d.Field<int>("id")).Distinct();
      

  4.   

    谢谢两位,不过,没有使用过Linq,也不晓得效率怎么样。不知道还有没有其它办法。
      

  5.   


    这个是js里的吧
    C# winform 中呢? 
    1.循环遍历table 可考虑整个Hashtable存储所有的distinct信息 用的话直接从Hashtable中取
    2.重新执行sql语句去数据库里再查一边 相对循环大数量应该效率稍微高点 只能是源数据也是从数据库里查的