数据行筛选器值到数据表

本文关键字:数据表 筛选 数据 | 更新日期: 2023-09-27 18:31:26

我想将数据行过滤器值插入数据表,但它返回以下错误"此行已属于另一个表"。请帮助我修复此错误。

这是我的部分代码:

  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();

数据行筛选器值到数据表

您可以使用

ImportRow

DT.Rows.ImportRow(row);

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

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

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

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

参考这里