DataTable数据类型的 选取列 删除列

Posted yangsirc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DataTable数据类型的 选取列 删除列相关的知识,希望对你有一定的参考价值。

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");       

 

以上是关于DataTable数据类型的 选取列 删除列的主要内容,如果未能解决你的问题,请参考以下文章

修改DataTable中某列的数据类型.

c#如何修改DataTable里面的特定列的数据类型

DataTable中如何获取某列重复的行

在asp.net mvc中删除数据成功后重新排序自动编号列JQuery Datatable

删除DataTable重复列,只针对删除其中的一列重复的行

Pandas选取行,列总结