我在水晶报表中加了,一个参数字段,请高手指点,如何在程序中给参数字段赋上值?我是刚学水晶报表,请指点。

解决方案 »

  1.   

    把文本改为参数看看行不行,代码如下:private TextObject GetTextObject(string reportObjectName) 
    {
    TextObject text;
    // 按名称获取 ReportObject,将其转换为 TextObject,
    //并返回此对象。
    text =this.report.ReportDefinition.ReportObjects[reportObjectName] as TextObject;
    if (text != null) 
        return text;
    else 
        return null;
    }
    调用:
    TextObject tObj=GetTextObject("Text1");
    tObj.Text ="不知道是不是这个意思";
      

  2.   

    private CrystalDecisions.Windows.Forms.CrystalReportViewer crtViewer; CRVMIHouse crReportDocument;
    ParameterDiscreteValue crParameterDiscreteValue;
    ParameterField crParameterField;
    ParameterFields crParameterFields;DataSet dsSource ;
    dsSource = ds.Copy();
    crReportDocument = new CRVMIHouse();

    crParameterFields = new ParameterFields();
    //
    //组合标题
    crParameterDiscreteValue = new ParameterDiscreteValue();
    crParameterDiscreteValue.Value = corpName;
    crParameterField = new ParameterField();
    crParameterField.ParameterFieldName = "corpName";
    crParameterField.CurrentValues.Add(crParameterDiscreteValue);
    crParameterFields.Add(crParameterField);

    crParameterDiscreteValue=null;
    crParameterField=null;
    crParameterDiscreteValue = new ParameterDiscreteValue();
    crParameterDiscreteValue.Value = pBegin;
    crParameterField = new ParameterField();
    crParameterField.ParameterFieldName = "pBegin";
    crParameterField.CurrentValues.Add(crParameterDiscreteValue);
    crParameterFields.Add(crParameterField); crParameterDiscreteValue=null;
    crParameterField=null;
    crParameterDiscreteValue = new ParameterDiscreteValue();
    crParameterDiscreteValue.Value = pEnd;
    crParameterField = new ParameterField();
    crParameterField.ParameterFieldName = "pEnd";
    crParameterField.CurrentValues.Add(crParameterDiscreteValue);
    crParameterFields.Add(crParameterField); crtViewer.ParameterFieldInfo = crParameterFields; string tempStr="";
    foreach(DataRow dr in dsSource.Tables[0].Rows)
    {
    tempStr="";
    tempStr = concatString(dr["invtype"].ToString(),dr["invspec"].ToString());
    tempStr = concatString(tempStr,dr["vfree1"].ToString());
    tempStr = concatString(tempStr,dr["vfree2"].ToString());
    if(tempStr.Trim()!="")
    {
    dr["invmandocname"]=dr["invmandocname"]+"("+tempStr+")";
    }

    }
    crReportDocument.SetDataSource(dsSource);
    crtViewer.ReportSource = crReportDocument;