两个数据表并排合并 [英] Two data tables merging side by side

查看:97
本文介绍了两个数据表并排合并的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我希望两个数据表并排合并,如果我合并数据表我得到一个下面的表,我怎么能并排显示.... 其紧急请给我建议这个



拼写和紧急[/ edit]

I want two data tables merge side by side if i merge data table am getting tables one below other how can i display side by side .... its urgent please give me suggistion for this

[edit]spelling and "urgent"[/edit]

推荐答案

<pre> public DataTable Merge(DataTable[] dataTables)
        {
            List<int> oList = new List<int>();
            DataTable mergedDataTable = new DataTable();
            foreach (DataTable dt in dataTables)
            {
                oList.Add(dt.Rows.Count);
                foreach (DataColumn dc in dt.Columns)
                {
                    mergedDataTable.Columns.Add(dt.TableName + "-" + dc.ColumnName, dc.DataType);
                }
                //mergedDataTable.Columns.Add(dt.TableName + "-" + "Space");
            }
            int temp = 0;
            for (int m = 0; m < oList.Count; m++)
            {
                for (int n = 0; n < oList.Count - 1; n++)
                {
                    if (oList[n] > oList[n + 1])
                    {
                        temp = oList[n + 1];
                        oList[n + 1] = oList[n];
                        oList[n] = temp;
                    }
                }
            }
            int maxRow = oList[oList.Count - 1];
            for (int o = 0; o < maxRow; o++)
            {
                DataRow newRow = mergedDataTable.NewRow();
                int mergedDataTableColumn = 0;
                foreach (DataTable dt in dataTables)
                {
                    if (dt.Rows.Count > o)
                    {
                        for (int k = 0; k < dt.Columns.Count; k++)
                        {
                            newRow[mergedDataTableColumn] = dt.Rows[o][k];
                            mergedDataTableColumn++;
                        }
                    }
                    else
                    {
                        for (int k = 0; k < dt.Columns.Count; k++)
                        {
                            newRow[mergedDataTableColumn] = DBNull.Value;
                            mergedDataTableColumn++;
                        }
                    }
                    //newRow[mergedDataTableColumn] = DBNull.Value;
                    //mergedDataTableColumn++;
                }
                mergedDataTable.Rows.Add(newRow);
            }
            return mergedDataTable;
        }



如果要将两个数据表的数据显示为单个表,则必须创建第三个数据表列数等于第一个数据表中的列数和第二个数据表的列数之和。迭代两个数据表并将数据复制到第三个数据表。如果数据来自数据库,则可以使用连接。如果表之间没有关系,则可以使用临时表来合并两个表的数据。有很多方法。取决于你发现的更容易和更快......
If you want to display data of two datatables as a single table then you will have to create a third datatable with number of columns equal to the sum of number of columns in first datatable and number of columns of second datatable. Iterate both the datatables and copy the data to the third datatable. If the data is coming from database you can use joins. If there is no relationship between tables you can use the temporary table to merge data of two tables. There are many ways. Depends upon what you you find easier and quicker...


这篇关于两个数据表并排合并的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆