【发布时间】:2013-10-29 08:10:23
【问题描述】:
我通过代码而不是向导成功地设计并填写了我的 Crystal 报表。
- 我通过 addNEWITEM 添加了水晶报表
- 我通过 addNEWITEM 在 aap_code 中添加了数据集
- 我通过 addNEWITEM 将数据表添加到数据集中
- 通过代码我制作了报告并用数据填充了数据集和表格
- 运行并显示。已成功完成。
但我的问题是,如何通过步骤 1、2、3 之类的代码完全做到这一点?我不想通过 AddNewItem 等添加它,有没有办法通过代码添加这些?我做到了,我通过代码创建了一些数据集和表格,就像我们为 Gridview 等所做的那样,但是这并没有出现在水晶报表等的 DATA 连接中。
String conStr =WebConfigurationManager.ConnectionStrings["LoginDatabaseConnectionString"].ConnectionString;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Dataset_load();
}
}
protected void Dataset_load()
{
SqlConnection sqlcon = new SqlConnection(conStr);
SqlCommand sqlCom = new SqlCommand("select * from Login", sqlcon);
SqlDataAdapter sqlDA = new SqlDataAdapter(sqlCom);
// DataSet ds = new DataSet("CRDataSet");
try
{
sqlcon.Open();
//sqlCom.ExecuteNonQuery();
//sqlDA.Fill(ds,"Login");
DataSet1 ds = new DataSet1();
DataTable dt = new DataTable("DT_CR");
sqlDA.Fill(dt);
ds.Tables[0].Merge(dt);
ReportDocument rd = new ReportDocument();
rd.Load(Server.MapPath("CrystalReport.rpt"));
rd.SetDataSource(ds);
CrystalReportViewer1.ReportSource = rd;
}
catch (Exception exc)
{
Response.Write(exc.Message);
}
finally
{
sqlcon.Close();
}
【问题讨论】:
-
你的答案就在你面前。你有所有的代码......你就是这样做的。 ;)
-
是的,我知道,谢谢,但我问的是步骤 1、2、3 吗?我的意思是所有都是点击添加新项目和然后 drad 和 drop 然后设置它的数据库连接等,所以有什么方法可以通过代码来做到这一点?
-
想要这样做是因为为了改进我的编码,拖放是为那些处于专业水平并且没有时间但我正在寻找改进我的代码的人设计的
-
好吧,请看下面我的回答。我认为这将是了解使其工作所需的所有部分的好方法。查看需要什么,它是如何构建的,然后您可以根据您的需要进行调整。很适合您尝试以这种方式学习!
-
好的,兄弟,谢谢,但还有一件事,我在 APPCODE 文件夹中添加了一个空数据集 DATASET1,然后在 APPCODE 文件夹中添加了一个虚拟数据表 DATATABLE1,其虚拟列名称与数据库中的相同,但是在编写代码时,什么这是否意味着“ds.Tables[0].Merge(dt)”在这里索引 0 代表什么以及我创建的那个虚拟数据表实际发生了什么?
标签: c# asp.net crystal-reports