【问题标题】:Modify rows added into dataset修改添加到数据集中的行
【发布时间】:2011-10-17 23:57:20
【问题描述】:

我有一个包含 17-20 行的 dataaset1。现在我有另一个数据集作为 dataset2,包含 4-5 行。数据集 2 的行应添加到数据集 1 中,然后应再次绑定到网格(总共包含 22-25 行)。

这怎么可能?

此外,必须根据 dataset1 列的某些条件添加数据集 2 行。假设第 1 列是“Y”,则应添加数据集 2 行。

【问题讨论】:

    标签: c# .net asp.net visual-studio dataset


    【解决方案1】:

    可能是这样的 - vb.net 代码,但你应该没问题:

    'dataSet1 populated
    'dataSet2 populated
    
            If dataset1.Tables(0).Rows(0)(0) = "Y" Then ' first row, first column check -  as example
                For i As Integer = 0 To dataset2.Tables(0).Rows.Count - 1
                    dataset1.Tables(0).ImportRow(dataset2.Tables(0).Rows(i))
                Next
            End If
    
    'Bind dataset1 to grid
    

    【讨论】:

    • 附带说明 - 为什么不考虑让您的查询返回两个数据表,然后我们可以分别以 dataset1.tables(0) 和 dataset1.tables(1) 的形式访问它们。
    • 感谢您的评论。但是它抛出了 System.ArgumentException 的错误:该行已经属于另一个表
    • 尝试使用 DataTable 的 ImportRow 方法 - 请参阅下面的 C# 示例。
    【解决方案2】:

    C# 版本(如果这是您正在寻找的方法,请接受 f0x 的回答):

    已更新以解决上述错误 - 使用 ImportRow

    if (dataset1.Tables[0].Rows[0][0].ToString() == "Y")
    {
        for (int i = 0; i < dataset2.Tables[0].Rows.Count - 1; i++)
        {
            dataset1.Tables[0].ImportRow(dataset2.Tables[0].Rows[i]);
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2018-05-11
      • 1970-01-01
      • 2016-03-24
      • 1970-01-01
      • 2018-10-23
      • 1970-01-01
      • 2020-03-22
      • 2021-11-21
      • 2012-08-31
      相关资源
      最近更新 更多