首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >错误:列*已经属于另一个dataTable

错误:列*已经属于另一个dataTable
EN

Stack Overflow用户
提问于 2011-04-18 07:14:14
回答 2查看 6.7K关注 0票数 1

我尝试过滤一些数据并添加到另一个数据表中。运行时,错误显示为

代码语言:javascript
运行
复制
Column *** already belongs to another dataTable

这里我的代码:

代码语言:javascript
运行
复制
Private Function FilterbyMode(ByVal FullTable As DataTable, ByVal Mode As String) As DataTable
    Dim Result As New DataTable(), i As Integer, j As Integer
    Try
        i = 0
        j = 0
        With FullTable
            Result.Clear()
            Result.Columns.Clear()
            For i = 0 To .Columns.Count - 1
                Result.Columns.Add(.Columns(i))
            Next
            For i = 0 To .Rows.Count - 1
                If .Rows(i)(5).ToString = Mode Then
                    Result.Rows.Add(.Rows(i))
                End If
            Next
        End With
    Catch ex As Exception
        lobjGeneral.Err_Handler("Reports", "LoadGrid", Err.Description, "Reports.aspx")
    End Try
    FilterbyMode = Result
End Function

我的问题是什么?有人给我解决办法..。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-18 07:20:41

你可以尝试这样的方法

代码语言:javascript
运行
复制
Result = FullTable.Clone(); //replicate the structure

然后

代码语言:javascript
运行
复制
If .Rows(i)(5).ToString == Mode Then // i belive you need comparison
      Result.ImportRow(.Rows(i)); // Add this row
End If
票数 2
EN

Stack Overflow用户

发布于 2011-04-18 07:22:59

您不能将列从dataTable添加到另一个dataTable,因为如果它将按引用复制,如果要在一个数据表中更改该列,则另一个数据表中的列也会更改.

您可以做的是将列克隆到新对象并将新对象添加到新的datatable中。

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

https://stackoverflow.com/questions/5699657

复制
相关文章

相似问题

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