首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何模拟DataRow合并并构建二维DataRow数组?

如何模拟DataRow合并并构建二维DataRow数组?
EN

Stack Overflow用户
提问于 2012-10-08 19:10:11
回答 1查看 626关注 0票数 0

我试图做一个简单的DataRow合并,但不知怎么的,我没有得到正确的数据返回。

我想要构建一个2D DataRow数组

这是一个简单的dataSet定义,包含dataTables和dataRelations,并填充了dataRows。

DataSet ds = new DataSet();

代码语言:javascript
复制
        ds.Tables.AddRange(new DataTable[] { 
            new DataTable("Person"),
            new DataTable("Car"),
            new DataTable("Color"),
            new DataTable("RGB"),
            new DataTable("Bicycle")
        });
        ds.Tables["Person"].Columns.AddRange(new DataColumn[] {
            new DataColumn("id", typeof(int)),
            new DataColumn("FName", typeof(string))
        });
        ds.Tables["Car"].Columns.AddRange(new DataColumn[] {
            new DataColumn("id", typeof(int)),
            new DataColumn("PersonId", typeof(int)),
            new DataColumn("CType", typeof(string))
        });
        ds.Tables["Color"].Columns.AddRange(new DataColumn[] {
            new DataColumn("id", typeof(int)),
            new DataColumn("CarId", typeof(int)),
            new DataColumn("ColorName", typeof(string))
        });
        ds.Tables["RGB"].Columns.AddRange(new DataColumn[] {
            new DataColumn("id", typeof(int)),
            new DataColumn("ColorId", typeof(int)),
            new DataColumn("HEX", typeof(string))
        });
        ds.Tables["Bicycle"].Columns.AddRange(new DataColumn[] {
            new DataColumn("id", typeof(int)),
            new DataColumn("PersonId", typeof(int)),
            new DataColumn("Age", typeof(string))
        });
        ds.Tables["Person"].ChildRelations.Add(new DataRelation("PersonCar", ds.Tables["Person"].Columns["id"], ds.Tables["Car"].Columns["PersonId"]));
        ds.Tables["Car"].ChildRelations.Add(new DataRelation("CarColor", ds.Tables["Car"].Columns["id"], ds.Tables["Color"].Columns["CarId"]));
        ds.Tables["Color"].ChildRelations.Add(new DataRelation("ColorRGB", ds.Tables["Color"].Columns["id"], ds.Tables["RGB"].Columns["ColorId"]));
        ds.Tables["Person"].ChildRelations.Add(new DataRelation("PersonBicycle", ds.Tables["Person"].Columns["id"], ds.Tables["Bicycle"].Columns["PersonId"]));

        ds.Tables["Person"].Rows.Add(0, "John");
        ds.Tables["Person"].Rows.Add(1, "Jenny");
        ds.Tables["Person"].Rows.Add(2, "Adam");

        ds.Tables["Car"].Rows.Add(0, 0, "Renault");
        ds.Tables["Car"].Rows.Add(1, 0, "Jeep");
        ds.Tables["Car"].Rows.Add(2, 1, "Subaru");
        ds.Tables["Car"].Rows.Add(3, 2, "Daewoo");

        ds.Tables["Color"].Rows.Add(0, 0, "Red");
        ds.Tables["Color"].Rows.Add(1, 1, "Black1");
        ds.Tables["Color"].Rows.Add(2, 1, "Black2");
        ds.Tables["Color"].Rows.Add(3, 1, "Black3");
        ds.Tables["Color"].Rows.Add(4, 2, "Green");
        ds.Tables["Color"].Rows.Add(5, 3, "Blue");

        ds.Tables["RGB"].Rows.Add(0, 1, "GREEN RGB1");
        ds.Tables["RGB"].Rows.Add(1, 1, "GREEN RGB2");

        ds.Tables["Bicycle"].Rows.Add(2, 0, "Mount.");

我想得到一个2D DataRow数组,其结果如下:

John, Renault, Red John, Jeep, Black1, GREEN RGB1 John, Jeep, Black1, GREEN RGB2 John, Jeep, Black2 John, Jeep, Black3 John, Mount. Jenny, Subaru, Green ....

我不想用DataTable.Merge!那么如何编写一个递归函数来填充2D数组。

DataRows列表

结果?

这是非常紧急的,所以每一个国王的帮助是受欢迎的。提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2012-10-09 06:10:01

也许通过遍历数据集?但我帮不了你。致以问候。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12787937

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档