求问,怎么将2张数据表合并在一起,显示在一个DataGrid中啊? 

解决方案 »

  1.   

    可以先把两个表弄成一个视图,然后DataGrid的数据从视图中读取
      

  2.   

    DataSet mDs=new DataSet(); 
    mDs.Tables.Add(DataTable1);
    mDs.Merge(DataTable2);
    mDs.Merge(DataTable3);
    ..................
    DataTable mNewDt=mDs.Tables[0];
      

  3.   

    private void DataTableMerge(ref DataTable dtOriginal,System.Data.DataTable dt,strWhereCondition)
            {
                System.Data.DataRow[] drr;
                foreach (System.Data.DataRow dr in dt.Rows)
                {
                    drr = dtOriginal.Select(strWhereCondition);
                    if (drr.Length != 1 )
                    {
                        dtOriginal.ImportRow(dr);
                    }
                }
            }
      

  4.   

    上面的是代码合并,也可以两个DataTable用Merge函数合并
      

  5.   


    ------------------
    免费ASP.NET空间申请http://www.kingtoo.com/pdtshw/hstshw/index.asp,
    支持ASP.NET1.1, 2.0
    100M asp.net 空间只要50元(www.kingtoo.com)
      

  6.   

    有关系为什么不从库中直接关联取出来呢。(本来应该是这样)如果没办法,这样也成。
    ds.Tables[0].Columns.Add("t_name",typeof(string));
    foreach(DataRow drTmp in ds.Tables[0].Rows)
    {
    drTmp["t_name"] = pd.GetProductCatalogName(drTmp["t_id"].ToString());
    }
    return(ds);
    意思是,在一个表中增加一列。然后根据关系去另外一个表中对应的字段。
      

  7.   

    革命遇到新问题,数据表都是要从数据库中读入的,我分别用了2个DataAdapter和DataSet从数据库读了两张表,然后分别放在2张DataTable中,再
    DataSet mDs=new DataSet(); 
    mDs.Tables.Add(DataTable1);
    mDs.Merge(DataTable2);
    这样做就出问题了,说是DataTable1属于另一个数据集(也就是我之前为了从数据库读表的时候建的DataSet)有什么办法解决吗?我现在试试看(车房志之扯坏的领带) 新给出的方法
      

  8.   

    一个表有ID、一个标有userID字段,这2个字段的值为相同的时候,就表示它们的关系是指代同一个记录
      

  9.   

    select a,b,c form table1 
    union 
    select a,b,c from table2
      

  10.   

    ds.Tables[0].Columns.Add("t_name",typeof(string));
    foreach(DataRow drTmp in ds.Tables[0].Rows)
    {
    drTmp["t_name"] = pd.GetProductCatalogName(drTmp["t_id"].ToString());
    }
    return(ds);
    请问这其中的pd是指什么啊?
      

  11.   

    string strCon = System.Configuration.ConfigurationSettings.AppSettings["DSN"];
    SqlConnection con = new SqlConnection(strCon);
    con.Open();
    SqlDataAdapter da1 = new SqlDataAdapter("Select * from messages",con);
    DataTable dt1=new DataTable();
    da1.Fill(dt1);

    SqlDataAdapter da2 = new SqlDataAdapter("Select * from users",con);
    DataTable dt2=new DataTable();
    da2.Fill(dt2);
    con.Close();DataSet mds=new DataSet();
    mds.Tables.Add(dt1);
    mds.Merge(dt2);
    DataTable mNewDt=mds.Tables[0];dgShow.DataSource =mNewDt.DefaultView;
    dgShow.DataBind();
    这种方法好像不对,只是在DataSet中放了2张表,并没有合并