创建数据集ASP.Net的SubSet

时间:2009-01-13 05:50:40

标签: c# asp.net dataset

我有一个包含大约28列的数据集现在我想创建另一个dataSet,它将包含两个dataTable,每个表中有14列来自上一个数据集。

需要帮助。

2 个答案:

答案 0 :(得分:2)

我会认为你有一些数据。

使用前14列(firstPart)创建一个数据表,另一个使用持续14列加主键(secondPart)。

    DataTable firstPart = new DataTable();
    //Initialize columns here...

    DataTable secondPart = new DataTable();
    //Initialize columns here...

    foreach(DataRow r in original.Rows){
        DataRow f = firstPart.NewRow();
        f[0] = r[0];
        f[1] = r[1];
        f[2] = r[2];
        f[3] = r[3];
        f[4] = r[4];
        f[5] = r[5];
        f[6] = r[6];
        f[7] = r[7];
        f[8] = r[8];
        f[9] = r[9];
        f[10] = r[10];
        f[11] = r[11];
        f[12] = r[12];
        f[13] = r[13];
        firtPart.Rows.Add(f);

        DataRow s = secondPart.NewRow();
        s[0] = r[0];
        s[1] = r[14];
        s[2] = r[15];
        s[3] = r[16];
        s[4] = r[17];
        s[5] = r[18];
        s[6] = r[19];
        s[7] = r[20];
        s[8] = r[21];
        s[9] = r[22];
        s[10] = r[23];
        s[11] = r[24];
        s[12] = r[25];
        s[13] = r[26];
        s[14] = r[27];
        secondPart.Rows.Add(f);
    }
    firtPart.AcceptChanges();
    secondPart.AcceptChanges();

您可以在表集合中添加constrints和/或数据集的realtionships集合中的表之间的关系。

答案 1 :(得分:0)

如果您想在没有loop的情况下进行此操作,请考虑DataView.ToTable Method。它通过定义所需的列名

从数据表创建子集
   dtLogExport == dsManifestAuditTrailLog.Tables(0).DefaultView.ToTable(false, "RevisionNo", "TabName", "RecordNumber")