首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

两个DataTable合龙列

2013-09-14 
两个DataTable合并列两个DataTable,一个是DataTable A数据NameNumber(用户编号)Type(用户状态)111Y222N另

两个DataTable合并列
两个DataTable,
一个是DataTable A数据
NameNumber(用户编号)  Type(用户状态)
111                   Y
222                   N

另一个DataTable B数据
NameNumber(用户编号)  Name(用户姓名)    Address(用户地址)
111                   张三                   上海
222                   李四                   北京

我想得到的数据是
111     Y     张三
就是把DataTable B中的Name列添加到DataTable A中怎么实现?
[解决办法]
refer:

static void Main(string[] args)
        {
            DataTable A = new DataTable();
            A.Columns.Add("NameNumber", typeof(string));
            A.Columns.Add("Type", typeof(string));

            DataRow drA = null;
            drA = A.NewRow();
            drA["NameNumber"] = "111";
            drA["Type"] = "Y";
            A.Rows.Add(drA);

            drA = A.NewRow();
            drA["NameNumber"] = "222";
            drA["Type"] = "N";
            A.Rows.Add(drA);



            DataTable B = new DataTable();
            B.Columns.Add("NameNumber", typeof(string));
            B.Columns.Add("Name", typeof(string));
            B.Columns.Add("Address", typeof(string));

            DataRow drB = null;
            drB = B.NewRow();
            drB["NameNumber"] = "111";
            drB["Name"] = "张三";
            drB["Address"] = "上海";
            B.Rows.Add(drB);

            drB = B.NewRow();
            drB["NameNumber"] = "222";
            drB["Name"] = "李四";
            drB["Address"] = "北京";
            B.Rows.Add(drB);

            var result = from p in A.AsEnumerable()
                         from q in B.AsEnumerable()
                         where p.Field<string>("NameNumber") == q.Field<string>("NameNumber")
                         select new
                         {
                             NameNumber = p.Field<string>("NameNumber"),
                             Type = p.Field<string>("Type"),


                             Address = q.Field<string>("Address")
                         };
            result.ToList().ForEach(x => Console.WriteLine(x.NameNumber + "-" + x.Type + "-" + x.Address));
        }


两个DataTable合龙列

热点排行