水晶报表Crystal 语法 实用字段编辑

本文分享了使用Crystal报表实现合同模板、产品展示、超链接图片显示等高级功能的方法,包括日期转换、产品信息展示、自定义函数及主从报表绑定等实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

公式字段

转日期文本

totext ({IC_AvailabilityContract.Thedatethecontractissigned},"yyyy年MM月dd日")

 产品图片超链接,尚未研究出水晶报表里直接显示图片,给个图片超链接算折中方案。

if   Trim({ProductView.Name})<>""  
then
 "<a href='http://www.hzlanghong.com/upload/"+{ProductView.Picurl}+"' target='_blank'>"+{ProductView.Name}+"</a>"
else
  {ProductView.Name};

 

 

 字段分割显示

{ProductView.AttributeCatogory}内容为“1;2;3……”或“1|2|3|4”时,取固定元素内容用

  if   Trim({ProductView.AttributeCatogory})<>""  AND  Count(Split({ProductView.AttributeCatogory},";"))>=1
  then
  Split({ProductView.AttributeCatogory},";")[1]
  else
  ""
 

 

报表自定义函数

用作报表字段点击转向对应产品网页用,参数为自增长主键

Function  (numberVar v1)
 "<a href='http://www.hzlanghong.com/product_detailed.aspx?id="+ Replace (ToText(v1),".00" ,""  )+"' target='_blank'>"+ Replace (ToText(v1),".00" ,""  )+"</a>"  

 

其实这是个个人备忘,用到crystal的童鞋可以看看。误闯进来的难免云里雾里,所以贴上截图

 

顺便演示下crystal的应用:一个合同模板。

 

主从报表

 顺手贴下绑定

 <div>
       <CR:CrystalReportViewer ID="ItemChildOrder" runat="server" AutoDataBind="True" GroupTreeImagesFolderUrl=""   ReportSourceID="CrystalReportSource1" ToolbarImagesFolderUrl="" ToolPanelWidth="200px"   HasCrystalLogo="False" ToolPanelView="None" ReuseParameterValuesOnRefresh="True" Height="940px" Width="1210px" EnableParameterPrompt="False" />
        <CR:CrystalReportSource ID="CrystalReportSource1" runat="server">
           <%-- <Report FileName="Areas\Store\Views\CrystalReport\ItemChildOrderCrystalReport.rpt">
            </Report>--%>
        </CR:CrystalReportSource>      
    </div>
      private IDataReader _tempreader;
        private IDataReader _tempreaderchild;
        private string fileurl = string.Empty;
        private void Page_Init(object sender, EventArgs e)
        {
            var crystalReportService = new CrystalReportService();
            fileurl = Server.MapPath("Areas\\Store\\Views\\CrystalReport\\ItemChildOrderCrystalReport.rpt");
            CrystalReportSource1.Report.FileName = fileurl;

                     _tempreader = crystalReportService.ItemChildOrderCrystalReportT(fileurl, itemName, number, providerName, buyerUserName, createbegintime, createendtime, state);
            _tempreaderchild = crystalReportService.OrderItemCrystalReportT();
            CrystalReportSource1.ReportDocument.SetDataSource(_tempreader);
            CrystalReportSource1.ReportDocument.Subreports[0].SetDataSource(_tempreaderchild);

            CrystalReportSource1.DataBind();
            ItemChildOrder.ReportSource = CrystalReportSource1;
            ItemChildOrder.DataBind();
        }
  

PS:报表绑定数据源不建议使用IDataReader,上面贴的老代码,没有能及时关闭数据链接。

 

转载于:https://www.cnblogs.com/wcgage/archive/2012/10/31/2748295.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值