问题如题,现在有以下几个表:
table1:
 clOwnID clOwnname  clOwnPwd clOwnAge
table2:
 cluserID clusername  cluserPwd cluserAge
table3:
 clMyID clMyname  clMyPwd clMyAge
table4:
 clYouID clYouname  clYouPwd clYouAge现在的目的是将他们读进来,然后合成为一个datatable,然后跟datagrid相连接,不知道怎么写,麻烦大侠提供点建议或者代码:

解决方案 »

  1.   

    就是将几个表加载到一个datagrid中,不知有什么好的方法没?
      

  2.   

    DataTable DataTable1 = new DataTable();
    DataTable DataTable2 = new DataTable();
    DataTable newDataTable = DataTable1.Clone();object[] obj = new object[newDataTable.Columns.Count];
    for (int i = 0; i < DataTable1.Rows.Count; i++)
    {
        DataTable1.Rows[i].ItemArray.CopyTo(obj,0);
        newDataTable.Rows.Add(obj);
    }for (int i = 0; i < DataTable2.Rows.Count; i++)
    {
        DataTable2.Rows[i].ItemArray.CopyTo(obj,0);
        newDataTable.Rows.Add(obj);
    }
      

  3.   

    那你为什么要分成四个表呢?你要是用SQL语句直接把这些字段放到一个datatable不就行了!
      

  4.   

    循环表相加.
    或者用DataTabe.Merge(),将两张表合并.
      

  5.   

    很经典的问题,楼主看了下面的文章链接,你会得到一个理想的答案。其他就不多说了。
    ADO.NET 中的表达式
    http://www.microsoft.com/china/MSDN/library/data/dataAccess/ADONETEXP.mspx
    DataTable其实可以在客户端做好多事情
    http://topic.csdn.net/u/20080408/22/5c0909df-1502-4ebe-9f97-f9398372affa.html
      

  6.   

    我的意思不是合并~~!
    我的意思是假如表一有三行 ,表二有五行,表三有十行,表四有六行,则合并起来的最终table有24行!
    好像用rows.add()方法可以,但是不知道怎么写!
    大侠给点代码~~!
      

  7.   

    hehe 这个简单,网上很多列子啊
      

  8.   

    using System;
    using System.Collections.Generic;
    using System.Text;namespace ConsoleApplication4
    {
        class Program
        {
            static void Main(string[] args)
            {
                //测试环境
                System.Data.DataSet ds = new System.Data.DataSet();
                System.Data.DataTable dt1=new System.Data.DataTable();
                dt1.TableName = "dt1";
                ds.Tables.Add(dt1);
                dt1.Columns.Add("id",typeof(int));
                 System.Data.DataTable dt2=new System.Data.DataTable();
                 dt2.TableName = "dt1";
                dt2.Columns.Add("id",typeof(int));            System.Data.DataRow row = dt1.NewRow();
                row["id"] = 1;
                dt1.Rows.Add(row);
                 row = dt2.NewRow();
                row["id"] = 2;
                dt2.Rows.Add(row);
                row = dt2.NewRow();
                row["id"] = 3;
                dt2.Rows.Add(row);            //合并
                ds.Merge(dt2);
                //输出检查
                Console.WriteLine(ds.Tables["dt1"].Rows.Count);
                Console.Read();
            }
        }
    }
      

  9.   

    只要把table的tablename属性设为一样,然后用dataset的merge方法就可以合并了
      

  10.   

    在sql语句得到一个datatable,
    用union...什么的应该可以吧。
      

  11.   

    用SQL语句是王道。
    用left join union等这些关键字联合查询吧。
    如果用代码合并,数据量大了,速度很慢的。
      

  12.   

    create view Union_all
    as
    select * from GISCIOITTable
    union all
    select * from GISCIOHardTable
    union all
    select * from GISCIOInfoTable这个才是解决之道~~!