如何在已经获得3个其他表的数据集中添加已过滤的行From Table?

时间:2014-04-08 12:00:30

标签: c# visual-studio-2010 visual-studio crystal-reports

我在添加另一个表时遇到问题,这是我的代码

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中显示

1 个答案:

答案 0 :(得分:0)

像其他表一样使用 .Copy()帮助我从第一个表中获取需要过滤的相同数据 并且可以添加到当前的DataSet