【问题标题】:datarow filter value to datatable数据行过滤值到数据表
【发布时间】:2012-04-16 09:45:25
【问题描述】:

我想将数据行过滤器值插入数据表,但它返回以下错误“此行已属于另一个表。”请帮我解决这个错误..

这是我的部分代码:

  for (int j = 0; j < ListBox1.Items.Count; j++)
                {
                    DataView DV = new DataView();
                    DV = DS1.DefaultView;
                    DV.RowFilter = "fldemployee='" + ListBox1.Items[j].Text + "' and fldassigndate = '04-07-2012'";
                    if (DV.Count > 0)
                    {
                        DataTable table = DV.ToTable("sp_getallattendancesetup");
                        DataRow row = table.Rows[0];
                        DT.Rows.Add(row);

                    }

                }

                GridView1.DataSource = DT;
                GridView1.DataBind();

【问题讨论】:

标签: c# asp.net datarow


【解决方案1】:

你可以使用ImportRow

DT.Rows.ImportRow(row);

来自 msdn 的信息:调用 NewRow 会使用 现有的表架构,但具有行的默认值,以及 将 DataRowState 设置为已添加。调用 ImportRow 保留 现有的 DataRowState 以及行中的其他值。如果 作为参数传递的 DataRow 处于分离状态,它是 忽略,不抛出异常。

新行将被添加到数据表的末尾。

如果新行违反约束,则不会将其添加到数据中 表。

您可以使用 DataTable.Rows.Find 和 DataTable.Rows.IndexOf。有关更多信息,请参阅 DataRowCollection 和行 信息。

参考here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 2017-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-06
    相关资源
    最近更新 更多