例如:做一个学生调查系统的水晶报表 
上次该班迟到8人,这次应到40人,实到36人,累计迟到12人,在水晶报表里怎么做? 
上次迟到是一个自定义的字段,应到是should的合计,实到是actual的合计 
求:(如何自定义)+(should的合计)-(actual的合计)=累计
注:c sharp

解决方案 »

  1.   

    在报表拉一个参数字段,然后直接用代码传值过去就可以了。
    //bgndate参数字段的名
    ParameterFields paramFields = new ParameterFields();
            ParameterField paramField = new ParameterField();
            ParameterDiscreteValue discreteVal = new ParameterDiscreteValue();        paramField.ParameterFieldName = "bgndate";
            discreteVal.Value = "2008-04-02";
            paramField.CurrentValues.Add(discreteVal);
            paramFields.Add(paramField);
            CrystalReportViewer1.ParameterFieldInfo = paramFields;
      

  2.   

    也可以直接用文本对象来放值的。
    在报表拉一个文本对象。代码以下:TextObject myBngDate = doc.ReportDefinition.ReportObjects["TxtDate"] as TextObject;
    myBngDate.Text = "2007-08-09";
    那个报表就是显示2007-08-09,楼主再根据你的需要改改。
      

  3.   

    我没有用过水晶报表里的公式,假如说我把上次迟到人数当做参数传递进去了,自定义公式该怎么用?
    例如LastTimeP+(should的合计)-(actual的合计)=accumulate
      

  4.   

    还有一个,我已经传递了一个时间截止的参数了,这是第二个参数,我该怎么用
    第一个时间参数是StarEndTime
    第二个上次迟到参数是LastTimeP