首页 > 其他 > 详细

如何取出DataTable中某几个字段(列名)组合新表

时间:2015-05-22 13:21:59      阅读:251      评论:0      收藏:0      [点我收藏+]

在偶不知道第二种方法之前.偶费了好大劲才把这个问题解决.下面把这两个方法都帖出来,请大家批评指正.或有更好的办法也帖出来,一起交流

第一种方法:
            string sql = "Report_proc";
            SqlParameter[] paras ={ new SqlParameter("@deptno", "") };
            DataTable dt = Utils.SQLHelper.ExecuteProForDataTable(sql, paras);
            DataTable dtc = new DataTable(); //新new的一个表,用来存放我们想要的字段(列)

            for (int i = 0; i < dt.Columns.Count; i++)
            {
                if (dt.Columns.ColumnName.IndexOf("renshu") == 0)
                {
                    DataColumn dc = new DataColumn(dt.Columns.ColumnName, typeof(string));
                    dtc.Columns.Add(dc);
                }
            }
            for (int j = 0; j < dt.Rows.Count; j++)
            {
                DataRow row = dtc.NewRow();
                int m = 0;
                for (int l = 0; l < dt.Columns.Count; l++)
                {

                    if (dt.Columns[l].ColumnName.IndexOf("renshu") == 0) //我要指取的字段都有一个特征里面都含有renshu这个串
                    {
                        if (m < 5) //限制下限,以免超出列的总数,防止出现异常
                        {
                            row[m] = (dt.Rows[j][l].ToString() == "" ? 0 : Convert.ToInt32(dt.Rows[j][l].ToString()));
                            m = m + 1;
                        }
                    }

                }
                dtc.Rows.Add(row);//增加一行
            }

第二种方法:

DataTable newTable = MyDataTable.DefaultView.ToTable(false, new string[] { "ColumnName1", "ColumnName1", "ColumnName1" });

这里我们使用的ToTable方法,相比第一种方法而言,好处大家一看就知道了

如何取出DataTable中某几个字段(列名)组合新表

原文:http://www.cnblogs.com/Mindy-hym/p/4521964.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!