DataTable数据类型的一些操作 增加行、插入行、修改数据、修改列名、修改列顺序、计算、选取或删除行(列)、排序、某列distinct值 等

Datatable 这个数据类型在C#中涉及到对数据库读取时的用处还是挺大的,最近在处理一个报表开发时,一开始把所有的操作都放在sql 上面来做,就是我需要什么样的数据我就query出什么,但是这样其实是很不方便的,后来发现Datatable的功能其实是很强大的,能够对数据进行一些处理,因此将所遇到的记录下来。

1.增加行、插入行

            DataTable dtEnterprise = new DataTable();
            DataRow dr = dtEnterprise.NewRow();
            dr["CATEGORY"] = "合计";
            dr["MAIN"] = "1";
            dtEnterprise.Rows.Add(dr);//加在最后一行
            dtEnterprise.Rows.InsertAt(dr, i);//加在第i行

2.修改数据

        DataTable dtEnterprise = new DataTable();
            DataRow replace = dtEnterprise.Rows[i];
            replace.BeginEdit();
            replace["CATEGORY"] = "2018";
            replace["MAIN"] = "2";
            replace.EndEdit();

3.修改列名

        DataTable dtEnterprise = new DataTable();
            dtEnterprise.Columns["CATEGORY"].ColumnName = "分类";
            dtEnterprise.Columns["MAIN"].ColumnName = "主要";
            //取列名
            string name=dtEnterprise.Columns[i].ColumnName;

4.修改列顺序

        DataTable dtEnterprise = new DataTable();
            dtEnterprise.Columns["CATERGORY"].SetOrdinal(1);
            dtEnterprise.Columns["MAIN"].SetOrdinal(0);

5.计算(简单的记录下遇到的求和其余后续再了解)

            DataTable dtEnterprise = new DataTable();
            int Sum_count = int.Parse(dtEnterprise.Compute("sum(count)", "true").ToString());
            int Sum_death = int.Parse(dtEnterprise.Compute("sum(death)", "true").ToString());

6.删除行(似乎还有delete方法后续补充)

            DataTable dtEnterprise = new DataTable();
            dtEnterprise.Rows.RemoveAt(i);

7.选取行()

            DataTable dtEnterprise = new DataTable();

            DataView davTemp = new DataView(dtEnterprise, "过滤条件", "排序字段", DataViewRowState.状态);
            //把过滤后的表赋给新表
            DataTable datNew = davTemp.ToTable();

8.选取列()

            DataTable dtEnterprise = new DataTable();

            DataTable datNew = dtEnterprise.DefaultView.ToTable(false, new string[] { "列名", "列名"});

 9.排序()

https://blog.csdn.net/zhensoft163/article/details/5692572

10.某列distinct值

                DataView dtv = dt_com.DefaultView;
                var group_1 = dtv.ToTable(true, "name");       
MrNou
原文地址:https://www.cnblogs.com/yangsirc/p/8624407.html