在我们工作的过程中有可能要使用DataTable产生一些重复数据(在不重复读取数据库的情况下)
无废话,直接上代码
DataTable复制自身一行(目的产生重复数据),已测试通过可直接复制
/// <summary>
/// 创造DataTable并产生测试数据
/// </summary>
/// <returns></returns>
public static DataTable CreateDtData(int argRowNum)
{
DataTable dt = new DataTable();
dt.Columns.Add("ID");
dt.Columns.Add("Name");
dt.Columns.Add("Sex");
dt.Columns.Add("Age"); int i = ;
for (; i < argRowNum; i++)
{
DataRow dr = dt.NewRow();
dr[] = i;
dr[] = "LD" + i;
dr[] = "male";
dr[] = i * ;
dt.Rows.Add(dr);
} return dt;
}
static void Main(string[] args)
{
Console.WriteLine("1. 创建DataTable 10行");
DataTable dtSource = CreateDtData();
Console.WriteLine("2. 复制数据 默认是第一行");
dtSource.ImportRow(dtSource.Rows[]);
dtSource.Rows[dtSource.Rows.Count - ][] = "测试"; Console.WriteLine(dtSource.Rows[][].ToString());
Console.WriteLine(dtSource.Rows[dtSource.Rows.Count - ][].ToString()); Console.Read();
}
注:
主要思想是使用DataTable的函数ImportRow(作用是复制一行,不是复制引用,是复制数据);
其中dtSource.ImportRow(dtSource.Rows[0]);可以换成dtSource.Rows.Add(dtSource.Rows[0].ItemArray);