DataTable v_templateA = new DataTable(); > v_templateA.Columns.AddRange( new DataColumn[]{ _ > new DataColumn("date",typeof(DateTime)), _ > new DataColumn("product_code", typeof(String)), _ > new DataColumn("product_name",typeof(String))} _ > ); > v_templateA.Columns["product_code"].MaxLength = 15; > v_templateA.Columns["product_name"].MaxLength = 50; > > DataTable v_templateB = v_templateA.Copy(); > DataColumn dc1 = new DataColumn("grpcode",typeof(String)); > dc1.MaxLength = 15; > v_templateB.Columns.Add(dc1); > DataColumn dc2 = new DataColumn("grpname", typeof(String)); > dc2.MaxLength = 50; > v_templateB.Columns.Add(dc2);But this is almost certainly not the approach you would take.....