多个不同的表合并到一个datatable中,repeater在绑定datatable

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
namespace LZserverList
{
    public partial class LZList : System.Web.UI.Page
    {
        SqlConnection conn = new SqlConnection("server=.;database=ShifanRoadLZ0818;uid=sa;pwd=123456;");
        //处罚表查询
        string sqlcf = @"select  DJB_CF.CaseDistrict, DJB_CF.CaseYear,DJB_CF.CaseMonth, DJB_CF.CaseMoney,DJB_CF.TreeType  from DJB_CF";
        //赔补偿表查询
        string sqlpbc = @"select  DJB_PBC.CaseDistrict,DJB_PBC.CaseYear,DJB_PBC.CaseMonth, DJB_PBC.CaseMoney,DJB_PBC.TreeType  from DJB_PBC";
        //强制表查询
        string sqlqz = @"select  DJB_QZ.CaseDistrict,DJB_QZ.CaseYear,DJB_QZ.CaseMonth, DJB_QZ.CaseMoney,DJB_QZ.TreeType  from DJB_QZ";
        //许可表查询
        string sqlxk = @"select  DJB_XK.CaseDistrict as cd,DJB_XK.CaseYear as cy,DJB_XK.CaseMonth as cm, DJB_XK.CaseMoney as cmy,DJB_XK.XKType as ct  from DJB_XK";
     
        protected void Page_Load(object sender, EventArgs e)
        {
            Bind();
        }
        //绑定repeater
        public void Bind()
        {
            //string Month = "";
            //string Year = "";
            retdf.DataSource = DataTablelist();
            retdf.DataBind();
        }
        //处罚表
        public DataTable tablecf()
        {
            SqlDataAdapter sda = new SqlDataAdapter(sqlcf, conn);
            DataTable dt = new DataTable();
            sda.Fill(dt);
            dt.Dispose();
            return dt;
        }
        //赔补偿表
        public DataTable tablepbc()
        {
            SqlDataAdapter sda = new SqlDataAdapter(sqlpbc, conn);
            DataTable dt = new DataTable();
            sda.Fill(dt);
            dt.Dispose();
            return dt;
        }
        //强制表
        public DataTable tableqz()
        {
            SqlDataAdapter sda = new SqlDataAdapter(sqlqz, conn);
            DataTable dt = new DataTable();
            sda.Fill(dt);
            dt.Dispose();
            return dt;
        }
        //许可表
        public DataTable tablexk()
        {
            SqlDataAdapter sda = new SqlDataAdapter(sqlxk, conn);
            DataTable dt = new DataTable();
            sda.Fill(dt);
            dt.Dispose();
            return dt;
        }
        //三个相同的表集合在一个表中
        public DataTable table3list()
        {
            DataTable cf = (DataTable)tablecf();

DataTable newDataTable = cf.Clone();
            object[] obj = new object[newDataTable.Columns.Count];
            //添加处罚表的数据     
            for (int i = 0; i < cf.Rows.Count; i++)
            {
                cf.Rows[i].ItemArray.CopyTo(obj, 0);
                newDataTable.Rows.Add(obj);
            }
            //添加赔补偿表的数据 
            DataTable  pbc = (DataTable)tablepbc();
            for (int i = 0; i < pbc.Rows.Count; i++)
            {
                pbc.Rows[i].ItemArray.CopyTo(obj, 0);
                newDataTable.Rows.Add(obj);
            }

//添加强制表的数据  
            DataTable qz = (DataTable)tableqz();
            for (int i = 0; i < qz.Rows.Count; i++)
            {
                qz.Rows[i].ItemArray.CopyTo(obj, 0);
                newDataTable.Rows.Add(obj);
            }
            return newDataTable;
        }
        /// <summary>
        /// 将两个列不同(结构不同)的DataTable合并成一个新的DataTable
        /// </summary>
        /// <param name="DataTable1">表1</param>
        /// <param name="DataTable2">表2</param>
        /// <param name="DTName">合并后新的表名</param>
        /// <returns>合并后的新表</returns>
        public DataTable DataTablelist()
        {
            string DTName = "";
            DataTable list3 = (DataTable)table3list();
            DataTable xk = (DataTable)tablexk();

//克隆DataTable1的结构          
            DataTable newDataTable = list3.Clone();
            for (int i = 0; i < xk.Columns.Count; i++)
            {
                //再向新表中加入DataTable2的列结构   
                newDataTable.Columns.Add(xk.Columns[i].ColumnName);
            }
            object[] obj = new object[newDataTable.Columns.Count];
            //添加DataTable1的数据    
            for (int i = 0; i < list3.Rows.Count; i++)
            {
                list3.Rows[i].ItemArray.CopyTo(obj, 0);
                newDataTable.Rows.Add(obj);
            }
            if (list3.Rows.Count >= xk.Rows.Count)
            {
                for (int i = 0; i < xk.Rows.Count; i++)
                {
                    for (int j = 0; j < xk.Columns.Count; j++)
                    {
                        newDataTable.Rows[i][j + list3.Columns.Count] = xk.Rows[i][j].ToString();
                    }
                }
            }
            else
            {
                DataRow dr3;
                //向新表中添加多出的几行     
                for (int i = 0; i < xk.Rows.Count - list3.Rows.Count; i++)
                {
                    dr3 = newDataTable.NewRow();
                    newDataTable.Rows.Add(dr3);
                }
                for (int i = 0; i < xk.Rows.Count; i++)
                {
                    for (int j = 0; j < xk.Columns.Count; j++)
                    {
                        newDataTable.Rows[i][j + list3.Columns.Count] = xk.Rows[i][j].ToString();
                    }
                }
            }
            newDataTable.TableName = DTName; //设置DT的名字  
            return newDataTable;
        }

}

}

时间: 2024-10-03 06:19:58

多个不同的表合并到一个datatable中,repeater在绑定datatable的相关文章

把多个工作簿的第一个工作表合并到一个工作簿的多个工作表

功能:把多个工作簿的第一个工作表合并到一个工作簿的多个工作表,新工作表的名称等于原工作簿的名称 Sub Books2Sheets() '定义对话框变量 Dim fd As FileDialog Set fd = Application.FileDialog(msoFileDialogFilePicker) '新建一个工作簿 Dim newwb As Workbook Set newwb = Workbooks.Add With fd If .Show = -1 Then '定义单个文件变量 Di

【原创】如何将多个工作簿中相同格式的工作表合并到一个工作表中

如何将多个工作簿中相同格式的工作表合并到一个工作表中 Sub Books2Sheets() '定义对话框变量 Application.ScreenUpdating = False Dim fd As FileDialog Set fd = Application.FileDialog(msoFileDialogFilePicker) '新建一个工作簿 Dim newwb As Workbook Set newwb = Workbooks.Add With fd If .Show = -1 The

[SQL]复制数据库某一个表到另一个数据库中

SQL:复制数据库某一个表到另一个数据库中 SELECT * INTO 表1 FROM 表2 --复制表2如果只复制结构而不复制内容或只复制某一列只要加WHERE条件就好了 例子:SELECT * INTO [IMCDB].[dbo].[SysLog] FROM [AimManageDB].[dbo].[SysLog] (将数据库AimManageDB中的SysLog表复制到数据库IMCDB中) 跨服务器复制表 select * INTO [SMSDB].[dbo].[SysLog] FROM

办公自动化18-将多个excel表中的多个sheet合并到一个excel中的一个sheet

合并前excel中的数据情况: 合并后的excel中数据情况: 附上代码如下: import pandas as pd year = ['2017','2018']#文件夹的命名 sheet_concat = pd.DataFrame() for i in range(len(year)): sheet = pd.read_excel('C:/Users/17360/Desktop/test/'+year[i]+'.xlsx',sheet_name = None,header= 0) #shee

88. Merge Sorted Array【leetcode】算法,java将两个有序数组合并到一个数组中

88. Merge Sorted Array Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. Note:You may assume that nums1 has enough space (size that is greater or equal to m + n) to hold additional elements from nums2. The n

python-将多个表格的信息合并到一个表格中

1.环境 代码运行环境:python3.7 相关的库:xlrd.xlwt 2.目的 通过xlrd库读取各个表格的数据,通过xlwt库将读取到的数据写入到一个表格中. 3.实现 在工程目录下,有一个test目录,存放的是待合并的表格,输出表格为merge.xls,就输出在当前工程目录下.每个合并的表格中我只需要"body"这个sheet,而且这个sheet中的数据格式都是按照下面的格式存放的. 实现的代码如下: 1 # encoding: utf-8 2 3 ''' 4 本代码的作用是将

查询两个表合并成一个表

select c.ClientID,c.Name,case MAX(c.Grade) when 0 then '厂家直营' when 1 then '总代理' when 2 then '省级代理'when 3 then '省级代理' end Grade,MAX(d.CooperationIntention) as CooperationIntention,COUNT(*) as number,ISNULL(c.IsEmphasis,0) IsEmphasis from SG_Client c i

如何快速将多个excel表格的所有sheet合并到一个sheet中

1.将需要合并的excel文件放在同一个文件夹下: 2.新建一个excel表格并打开,右键sheet1,查看代码,然后复制下方的代码到代码框里,点击菜单栏中的“运行”–“运行子过程/用户窗体”,等待程序运行结束,即可实现数据合并到sheet1中. 详细步骤可参考:https://jingyan.baidu.com/article/f0062228d16ba9fbd3f0c82b.html?qq-pf-to=pcqq.c2c Sub 合并当前目录下所有工作簿的全部工作表()Dim mypath,

把多个Excel文件合并到一个Excel文件的多个工作表(Sheet)里

实现的功能是把多个Excel文件的第一个工作表(Sheet)合并到一个Excel文件的多个工作表里,并且新工作表的名称等于原Excel文件的文件名.开发环境Excel2007,但是Excel2003应该也能用,Excel2000似乎不能用.代码如下: '功能:把多个工作簿的第一个工作表合并到一个工作簿的多个工作表,新工作表的名称等于原工作簿的名称 新建的excel新表---书签sheet1--右击查看代码-复制代码进入---运行-选择需要合并的表--OKSub Books2Sheets()