数据行筛选器值到数据表
本文关键字:数据表 筛选 数据 | 更新日期: 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 信息。
参考这里