将数据表分配给其他数据表值

时间:2014-04-25 11:32:50

标签: c#-4.0

我注意到,当将一个数据值分配给其他数据表时,如果我更改了新的数据表值,则其他数据表(旧)值也会更改。我是初学者,我明白为什么任何人都可以帮我解决。 例如:

                DataTable dt = new DataTable();
                dt = dtRpt;//dtrpt contains some value
                dt.Columns.Remove("KidoTotal");
                dt.Columns.Remove("Total");
                dt.Columns.Remove("intSubjectID");

2 个答案:

答案 0 :(得分:2)

尝试以上方法:

        DataTable dt = new DataTable();
        dt = dtRpt.Clone();//dtrpt contains some value
        dt.Columns.Remove("KidoTotal");
        dt.Columns.Remove("Total");
        dt.Columns.Remove("intSubjectID");

Clone仅适用于架构。如果您需要和数据使用Copy

答案 1 :(得分:2)

DataTablereference type,因此,如果您为变量指定了另一个DataTable引用,则两者实际上都是同一个表。

您需要将数据复制到具有相同架构的新表,您可以使用DataTable.Copy

DataTable dt = dtRpt.Copy();  // use Clone if you want to create an empty table without data with the same schema