【问题标题】:Split a DataTable into 2 or more DataTables based on division of Column value根据列值的划分,将一个 DataTable 拆分为 2 个或多个 DataTable
【发布时间】:2014-04-17 09:12:35
【问题描述】:

我拥有的数据表

企业ID |员工姓名 |价值观 |行索引 _______ _______ _______ _______ 1 一 10 0 2 b 10 1 3 c 10 2 4 天 10 3 5 e 10 4 6 英尺 10 5 7 克 10 6 8 小时 10 7 9 我 10 8

我需要的数据表是

数据表 1:

企业ID |员工姓名 |价值观 |行索引 _______ _______ _______ _______ 1 一 10 0 2 b 10 1 3 c 10 2 4 天 10 3 5 e 10 4

数据表 2

企业ID |员工姓名 |价值观 |行索引 _______ _______ _______ _______ 6 f 10 0 7 克 10 1 8 小时 10 2 9 我 10 3

拆分条件:

  • rowindex 应该除以 5。
  • 第一个数据表应包含余数为 0 的值
  • 第二个应该包含余数为 1 的值,反之亦然。
  • 数据表中的行索引应该从零开始。

P.s:我知道根据列值进行拆分。计算后不知道拆分。

根据列值进行拆分的编码:

RequestDS = MYDataset

            Dim dsTablesById As New DataSet()
            For Each row As DataRow In RequestDS.Tables(0).Rows
                Dim ID As String = row("ID").ToString()
                If Not dsTablesById.Tables.Contains(ID) Then
                    dsTablesById.Tables.Add(ID)
                    For Each col As DataColumn In RequestDS.Tables(0).Columns
                        dsTablesById.Tables(ID).Columns.Add(col.ColumnName, col.DataType)
                    Next
                End If
                dsTablesById.Tables(ID).Rows.Add(row.ItemArray)
                dsTablesById.Tables(ID).AcceptChanges()
                ViewState("TableDataset") = dsTablesById
            Next

【问题讨论】:

  • 文字阴影:1px 3px 3px 灰色;

标签: asp.net vb.net datatable split


【解决方案1】:
Dim ID As String = row("ID").ToString() 

应该是

Dim ID As String = (row("ID") mod 5).ToString()

并在添加行之前执行以下操作:

row.ItemArray(3) = dsTablesById.Tables(ID).Rows.Count

【讨论】:

    猜你喜欢
    • 2015-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-08
    • 1970-01-01
    • 2022-12-22
    • 2012-09-26
    • 1970-01-01
    相关资源
    最近更新 更多