在水晶报表中如何使用程序动态指定详细资料栏里的数据库字段的数据库连接属性

lldwolf 2005-12-09 02:34:25
我想在详细资料栏里先放上一些未绑定字段,然后在运行时使用程序动态分配,如何实现?
...全文
153 1 打赏 收藏 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
mxldream 2006-01-09
  • 打赏
  • 举报
回复
N.1.3 设置报表数据源
报表的数据源的结构需提前在数据集中建好,目录我尚未找到能够动态生成其数据集的方法。

1、新建一个数据集,添加方法为:打开“添加新项”窗口,选择类别树中的“数据”,在右侧列表中选择“数据集”,在此起名为“ReportData.xsd”。

2、在数据集中添加一个Element,可能过右键菜单或工具栏添加,Element即一个表,在此起名为“ReportTable”,第二栏为数据类型,不要动。

3、在Element内输入多行,表示表的列名,可随便定义,在此需定义各行的数据类型。

N.1.4 在报表上放置对象
关键是数据库对象的放置,在报表设计器的右键菜单中打开数据库 - 添加/删除数据库,在左侧的可用数据源树中选择项目数据 - ADO.NET数据集,可以看到我们以前定义的数据集及里面的表。

可以直接在字段资源管理器中拖放字段至报表的详细资料节。

对于数据字段未定的项,可用“字段资源管理器”中的“未绑定字段”。

N.1.4 填充数据
新建一个DataSet对象,在其中填充一个名为ReportTable的DataTable。

SqlConnection conn = new SqlConnection("packet size=4096;user id=sa;data source=\".\";
persist security info=True;initial catalog=Northwind;password=");
conn.Open();
SqlDataAdapter adapter = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet("ds");
adapter.Fill(ds, "ReportTable");对于未绑定的字段,可用下列语句绑定:

rep.DataDefinition.FormulaFields["未绑定字符串1"].Text = "{ReportTable.CompanyName}";它表示取ReportTable的CompanyName字段,更详细的信息请参考Crystal Report公式。

N.1.5 查看报表
在Windows Form中可用“CrystalReportViewer”控件来查看。查看方式如下:

RptCustomer rep = new RptCustomer();
rep.SetDataSource(ds);
this.crystalReportViewer1.ReportSource = rep;

4,818

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧