zoukankan      html  css  js  c++  java
  • datatable拆分多个

    /// <summary>
            /// 分解数据表
            /// </summary>
            /// <param name="originalTab">需要分解的表</param>
            /// <param name="rowsNum">每个表包含的数据量</param>
            /// <returns></returns>
            public static List<DataTable> SplitDataTable(DataTable originalTab, int rowsNum)
            {
                //获取所需创建的表数量
                int tableNum = originalTab.Rows.Count / rowsNum;
                //获取数据余数
                int remainder = originalTab.Rows.Count % rowsNum;
                List<DataTable> ds = new List<DataTable>();
                //如果只需要创建1个表,直接将原始表存入DataSet
                if (tableNum == 0)
                {
                    ds.Add(originalTab);
                }
                else
                {
                    DataTable[] tableSlice = new DataTable[tableNum];
                    for (int c = 0; c < tableNum; c++)
                    {
                        tableSlice[c] = new DataTable();
                        foreach (DataColumn dc in originalTab.Columns)
                        {
                            tableSlice[c].Columns.Add(dc.ColumnName, dc.DataType);
                        }
                    }
                    for (int i = 0; i < tableNum; i++)
                    {
                        if (i != tableNum - 1)
                        {
    
                            for (int j = i * rowsNum; j < ((i + 1) * rowsNum); j++)
                            {
                                tableSlice[i].ImportRow(originalTab.Rows[j]);
                            }
                        }
                        else
                        {
                            for (int k = i * rowsNum; k < ((i + 1) * rowsNum + remainder); k++)
                            {
                                tableSlice[i].ImportRow(originalTab.Rows[k]);
                            }
                        }
                    }               
                    foreach (DataTable dt in tableSlice)
                    {
                        ds.Add(dt);
                    }
                }
                return ds;
            }
    

      

  • 相关阅读:
    再也不买仙剑正版盘了
    如果能边睡觉边上网多好
    不服
    <转>猛兽多是懒汉
    窗体中实现按 回车键 跳到下一个可选的TabIndex控件
    c# 索引器基础理论
    软件加密技术和注册机制入门介绍
    c# 属性 
    异常的一些基础知识
    关于MessageBox.Show的使用
  • 原文地址:https://www.cnblogs.com/2333hh/p/10530693.html
Copyright © 2011-2022 走看看