我们在一个dataset中可以包含多个datatable对象。
dataset mydataset = new dataset();
datatable tablea = new datatable("a");
datatable tableb = new datatable("b");
mydataset.tables.add(tablea);
mydataset.tables.add(tableb);
这样在mydataset中就包含了一个tablea和一个tableb两个datatable对象,同时我们是通过dataset.tables的属性访问dataset中包含的datatable,例如可以通过这样语句:mydataset.tables["a"]来访问tablea对象。但是datatablecollection的索引器(其实dataset.tables就是datatablecollection类型)只能用户获取一个datatable对象,无法设置。
mydataset.tables["a"] = mydataset.tables["b"]; //错误的语法
这样的语句在编译的时候会出错。那么我们怎样重新设置一个tablea呢?重新在声明一个datatable对象,再将tableb copy给新的datatable对象,
datatable newtable;
newtable = mydataset.tables["b"].copy();
此时newtable中的结构和数据和tableb是一样的。但是我们怎样将newtable copy给tablea呢?试一下下面的代码
newtable.tablename = "a";
mydataset.tables.remove("a");
mydataset.tables.add(newtable):
将原来的tablea从dataset中移除,newtable的名称设置为tablea的名称,并将newtable加入到dataset中,这样我们就可以获得一个新的tablea