在c#中从数据表中加载数据到数据集
本文关键字:数据 加载 数据集 数据表 | 更新日期: 2023-09-27 18:18:03
我有一个名为"dts_Material_Report"的数据集,用于生成报告。在该数据集中,我有一个名为"dt_report_Received_Materials"的tableAdapter。
之前,我用下面的代码将数据加载到表适配器,
private void generate_report( string qry )
{
string query, qry1;
query = qry;
int pr_id = Form_Common_PCM.pr_id;
clz_Common_SqlConnection con = new clz_Common_SqlConnection();
SqlDataAdapter sda = new SqlDataAdapter(query, con.ActiveCon());
DataSet dts = new DataSet();
sda.Fill(dts, "dt_report_Received_Materials");
rdc.SetDataSource(dts);
crystalReportViewer1.ReportSource = rdc;
crystalReportViewer1.DisplayToolbar = true;
crystalReportViewer1.Show();
}
但目前我有所有的数据,我需要在我的一个名为"dt_mat_cost"的数据表生成报告。
int Ref_ID_s_category;
Ref_ID_s_category = Convert.ToInt16(cbo_sub_category .SelectedValue );
int pro_id = Form_Common_PCM.pr_id;
clz_Received_Material_Summary rms = new clz_Received_Material_Summary();
DataTable dt_mat_cost = rms.Summary_Material_Cost_Filter_By_Project_By_Sub_Category(Ref_ID_s_category);
现在我想加载这些数据从"dt_mat_cost"到我的tableAdapter "dt_report_Received_Materials .有没有办法做到这一点。
解决这个问题的一种方法是将DataTable放入DataSet中,然后运行如下所示的水晶代码。您可以将ReportSource设置为数据表,但我想不起来这是否可行。
DataTable dt_matCost = rms.Summary_Material_Cost_Filter_By_Project_By_Sub_Category(Ref_ID_s_category);
DataSet dts = new DataSet();
dts.Tables.Add(dt_matCost);
//ds.Tables[0].TableName = "Whatever CR thinks it is"; // may need to set for CR
rdc.SetDataSource(dts);
crystalReportViewer1.ReportSource = rdc;
crystalReportViewer1.DisplayToolbar = true;
crystalReportViewer1.Show();