DataGridTableStyle[] a = new DataGridTableStyle[ this.aDataGrid1.TableStyles.Count ];
this.<复制的GRID>.TableStyles.CopyTo( a,0 );
this.<得到样式的GRID>.TableStyles.AddRange( a );

解决方案 »

  1.   

    指向同一个就行了
     数据源绑定到DataGrid时实际上是绑定的DataView。如数据源是
    DataSet时,则可以向DataMember 属性设置一个字符串,该字符串指定要绑定到的表,
    然后再将DataMember指定的那个DataTable的DefaultView绑定到DataGrid。
        DataGrid绑定到一个DataView后,由DataGrid.TableStyles中的
    DataGridTableStyle 对象的集合来控制这个DataView的哪些列要显示,列的宽度多
    少,列标头的文本是什么等等。确省的DataGrid.TableStyles中不包含任何对象,这时
    DataGrid将会按照DataView列的顺序将所有的列都显示出来。如果想自己定制显示,这
    就要用TableStyles来控制了。
        新建一个TableStyle,将此TableStyle.MappingName属性对应到这个TableStyle要
    控制的那个DataTable的名字:
        DataGridTableStyle myTableStyle = new DataGridTableStyle();
        myTableStyle.MappingName = "myDateTable";
     再建立三个DataGridColumnStyle,分别用来控制将要显示的三个列,例如:
        DataGridColumnStyle myColumnStyle1 = new DataGridTextBoxColumn();
        myColumnStyle1.MappingName = "OrderID";
        myColumnStyle1.HeaderText = "订单号";
        DataGridColumnStyle myColumnStyle2 = new DataGridTextBoxColumn();
        myColumnStyle2.MappingName = "CustomerID";
        myColumnStyle2.HeaderText = "客户号";
        DataGridColumnStyle myColumnStyle3 = new DataGridTextBoxColumn();
        myColumnStyle3.MappingName = "OrderDate";
        myColumnStyle3.HeaderText = "订单日期";
    将这三个DataGridColumnStyle添加到TableStyle中:
        myTableStyle.GridColumnStyles.Add(myColumnStyle1);
        myTableStyle.GridColumnStyles.Add(myColumnStyle2);
        myTableStyle.GridColumnStyles.Add(myColumnStyle3);
    最后将TableStyle添加到DataGrid中:
        dataGrid1.TableStyles.Add(myTableStyle);
    将 TableStyle添加到DataGrid后,再绑定数据源,这时我们就会看到这样的数据显示
    了。DataGrid的编辑修改 DataGrid支持对DataGrid所显示的DataTable的编辑修改,如
    果不想修改只要DataGrid的ReadOnly属性为True,就可以了。