none
怎样向DataTable中添加属于另一个DataTable的DataRow RRS feed

答案

  • DataTable table = HrAccess.GetUserInfo();
    
    Dictionary<string, DataRow> dic = new Dictionary<string, DataRow>();
    
    for (int i = 0; i < table.Rows.Count; i++)
    {
        DataRow dr = table.Rows[i];
        string clientid = dr["ClientId"].ToString();
        if (!dic.ContainsKey(clientid))
        {
            dic.Add(clientid, dr);
        }
    }
    
    DataTable dt = table.Clone();
    
    foreach (KeyValuePair<string, DataRow> item in dic)
    {
        DataRow dr = dt.NewRow();
        dr.ItemArray = item.Value.ItemArray;
        dt.Rows.Add(dr);
    }

    邹俊才
    2009年6月22日 14:10
    版主
  •             DataTable fDataTable1 = new DataTable();
                DataTable fDataTable2 = new DataTable();
                fDataTable2.ImportRow(fDataTable1.Rows[0]);
                fDataTable2.Rows.Add(fDataTable1.Rows[0].ItemArray);
    // 还可以向每个字段一一赋值

    知识改变命运,奋斗成就人生!
    2009年6月20日 3:10
    版主
  •             DataTable fDataTable1 = new DataTable();
                DataTable fDataTable2 = new DataTable();
                fDataTable2.ImportRow(fDataTable1.Rows[0]);
                fDataTable2.Rows.Add(fDataTable1.Rows[0].ItemArray);
    // 还可以向每个字段一一赋值

    知识改变命运,奋斗成就人生!

    呵呵,table的类要是继承或者一样才可以这样操作吧。不然会属性不一致的
    Frank.Xu Lei--谦卑若愚,好学若饥
    专注于.NET平台下分布式应用系统开发和企业应用系统集成
    Focus on Distributed Applications Development and EAI based on .NET
    老徐的博客:http://frank_xl.cnblogs.com
    2009年6月22日 4:47
    版主

全部回复

  •             DataTable fDataTable1 = new DataTable();
                DataTable fDataTable2 = new DataTable();
                fDataTable2.ImportRow(fDataTable1.Rows[0]);
                fDataTable2.Rows.Add(fDataTable1.Rows[0].ItemArray);
    // 还可以向每个字段一一赋值

    知识改变命运,奋斗成就人生!
    2009年6月20日 3:10
    版主
  •             DataTable fDataTable1 = new DataTable();
                DataTable fDataTable2 = new DataTable();
                fDataTable2.ImportRow(fDataTable1.Rows[0]);
                fDataTable2.Rows.Add(fDataTable1.Rows[0].ItemArray);
    // 还可以向每个字段一一赋值

    知识改变命运,奋斗成就人生!

    呵呵,table的类要是继承或者一样才可以这样操作吧。不然会属性不一致的
    Frank.Xu Lei--谦卑若愚,好学若饥
    专注于.NET平台下分布式应用系统开发和企业应用系统集成
    Focus on Distributed Applications Development and EAI based on .NET
    老徐的博客:http://frank_xl.cnblogs.com
    2009年6月22日 4:47
    版主
  • DataTable table = HrAccess.GetUserInfo();
    
    Dictionary<string, DataRow> dic = new Dictionary<string, DataRow>();
    
    for (int i = 0; i < table.Rows.Count; i++)
    {
        DataRow dr = table.Rows[i];
        string clientid = dr["ClientId"].ToString();
        if (!dic.ContainsKey(clientid))
        {
            dic.Add(clientid, dr);
        }
    }
    
    DataTable dt = table.Clone();
    
    foreach (KeyValuePair<string, DataRow> item in dic)
    {
        DataRow dr = dt.NewRow();
        dr.ItemArray = item.Value.ItemArray;
        dt.Rows.Add(dr);
    }

    邹俊才
    2009年6月22日 14:10
    版主
  • 整个 DataTable 复制就 DataTable.Copy() 更简单, 另外 DataSet.Merge 提供多种合并方法的重载
    知识改变命运,奋斗成就人生!
    2009年6月23日 1:48
    版主