我在添加另一个表时遇到问题,这是我的代码
rptSalarList3_En SalaryListReport3 = new rptSalarList3_En();
ds = clsReports.ViewSalaryPaySlipListReport(parameters[0], PaySlip3.dtmFromDate, PaySlip3.dtmToDate);
dsReports.Tables.Clear();
dsReports.Tables.Add(ds.Tables[0].Copy());
dsReports.Tables.Add(ds.Tables[1].Copy());
dsReports.Tables.Add(ds.Tables[2].Copy());
DataTable dt1 = dsReports.Tables[0].Copy();
DataRow Dr = dt1.Rows[0];
DataRow[] result = dsReports.Tables[0].Select("SalaryItemName = 'Variable'");
dt1.Rows.Clear();
dt1.Rows.Add(result[0].ItemArray);
DataSet DsTaxable = new DataSet();
DsTaxable.Tables.Add(dt1);
dsReports.Tables.Add(DsTaxable.Tables[0]);
dsReports.Tables.Add(dsLogo.Tables[0].Copy());
dsReports.Tables[0].TableName = "SalaryListItems";
dsReports.Tables[1].TableName = "Preferences";
dsReports.Tables[2].TableName = "SalaryItemDetails";
dsReports.Tables[3].TableName = "SalaryItemTaxable";
问题是当从第一个表中过滤它时会引发错误消息 (ex.Message =“DataTable已经属于另一个DataSet。”)
我想从First Table获取Filtered值并将其设为Table,这样我就可以将它添加到dsReports以在Crystal Report中显示
答案 0 :(得分:0)
像其他表一样使用 .Copy()帮助我从第一个表中获取需要过滤的相同数据 并且可以添加到当前的DataSet