工作笔记-Datatable部分

相关笔记
-工作笔记-Gridview部分
-工作笔记-Datatable部分
-工作笔记-字段处理部分
-工作笔记-数据验证和数据传输
-工作笔记-SQL语句部分
-工作笔记-页面样式部分
-工作笔记-Winform部分
-工作笔记-文件处理部分
-工作笔记-下拉列表部分
-工作笔记-存储过程部分

  1. 后台部分
    1)合并不同列的datatable数据
//克隆DataTable1的结构
            DataTable newDataTable = dta.Clone();
            for (int i = 0; i < dtb.Columns.Count; i++)
            {
                //再向新表中加入DataTable2的列结构
                newDataTable.Columns.Add(dtb.Columns[i].ColumnName);
            }
            object[] obj = new object[newDataTable.Columns.Count];
            //添加DataTable1的数据
            for (int i = 0; i < dta.Rows.Count; i++)
            {
                dta.Rows[i].ItemArray.CopyTo(obj, 0);
                newDataTable.Rows.Add(obj);
            }

            if (dta.Rows.Count >= dtb.Rows.Count)
            {
                for (int i = 0; i < dtb.Rows.Count; i++)
                {
                    for (int j = 0; j < dtb.Columns.Count; j++)
                    {
                        newDataTable.Rows[i][j + dta.Columns.Count] = dtb.Rows[i][j].ToString();
                    }
                }
            }
            else
            {
                DataRow dr3;
                //向新表中添加多出的几行
                for (int i = 0; i < dtb.Rows.Count - dta.Rows.Count; i++)
                {
                    dr3 = newDataTable.NewRow();
                    newDataTable.Rows.Add(dr3);
                }
                for (int i = 0; i < dtb.Rows.Count; i++)
                {
                    for (int j = 0; j < dtb.Columns.Count; j++)
                    {
                        newDataTable.Rows[i][j + dta.Columns.Count] = dtb.Rows[i][j].ToString();
                    }
                }
            }
            newDataTable.TableName = "dts"; //设置DT的名字 

2)统计datatable中某一列的总和

double douC = double.Parse(datatable的id名.Compute("sum(列名)", null).ToString());

3)for循环

for (int i = 1; i <= dt.Rows.Count;i++ )
            {
                this.控件ID.Text += dt.Rows[i-1]["列名"].ToString().Trim();
                this.控件ID.Text += " ";
            }

4)动态添加DataTable

DataTable Tdt = new DataTable();
1.添加指定的列
Tdt.Columns.Add("列名1");
Tdt.Columns.Add("列名2");
Tdt.Columns.Add("列名3");
Tdt.Columns.Add("列名4");
2.添加行 (每次添加都要加新的行)
DataRow dr = Tdt.NewRow();
dr["列名1"] = "值";
dr["列名2"] = "值";
dr["列名3"] = "值";
dr["列名4"] = "值";
Tdt.Rows.Add(dr);

5)随机打乱dt的数据

DataTable exdt = DataBase.ExecuteTable(ref exsql);      //数据库查询出来的数据
        DataTable newdt = exdt.Clone();
        foreach (DataRow row in exdt.Rows)
        {
            DataRow dr = newdt.NewRow();
            dr.ItemArray = row.ItemArray;
            Random random = new Random();
            newdt.Rows.InsertAt(dr, random.Next(newdt.Rows.Count));//这里注意随机出来的数字是否会超界
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值