internal void SetRuntimeValues(Report rpt, IDictionary parms) { // Fill the values to use in the report parameters foreach (string pname in parms.Keys) // Loop thru the passed parameters { ReportParameter rp = (ReportParameter)_Items[pname]; if (rp == null) { // When not found treat it as a warning message if (!pname.StartsWith("rs:")) // don't care about report server parameters { rpt.rl.LogError(4, "Unknown ReportParameter passed '" + pname + "' ignored."); } continue; } rp.SetRuntimeValue(rpt, parms[pname]); } return; }
public virtual IExpr ConstantOptimization() { _ArgExpr = _ArgExpr.ConstantOptimization(); if (_ArgExpr.IsConstant()) { string o = _ArgExpr.EvaluateString(null, null); if (o == null) { throw new Exception("Parameter collection argument is null"); } ReportParameter rp = _Parameters[o] as ReportParameter; if (rp == null) { throw new Exception(string.Format("Parameter collection argument {0} is invalid", o)); } return(new FunctionReportParameter(rp)); } return(this); }
public virtual IExpr ConstantOptimization() { _ArgExpr = _ArgExpr.ConstantOptimization(); if (_ArgExpr.IsConstant()) { string o = _ArgExpr.EvaluateString(null, null); if (o == null) { throw new Exception(Strings.FunctionParameterCollection_Error_ParameterCollectionNull); } ReportParameter rp = _Parameters[o] as ReportParameter; if (rp == null) { throw new Exception(string.Format(Strings.FunctionParameterCollection_Error_ParameterCollectionInvalid, o)); } return(new FunctionReportParameter(rp)); } return(this); }
IDictionary _Items; // list of report items internal ReportParameters(ReportDefn r, ReportLink p, XmlNode xNode) : base(r, p) { if (xNode.ChildNodes.Count < 10) _Items = new ListDictionary(); // Hashtable is overkill for small lists else _Items = new Hashtable(xNode.ChildNodes.Count); // Loop thru all the child nodes foreach(XmlNode xNodeLoop in xNode.ChildNodes) { if (xNodeLoop.NodeType != XmlNodeType.Element) continue; if (xNodeLoop.Name == "ReportParameter") { ReportParameter rp = new ReportParameter(r, this, xNodeLoop); if (rp.Name != null) _Items.Add(rp.Name.Nm, rp); } else OwnerReport.rl.LogError(4, "Unknown ReportParameters element '" + xNodeLoop.Name + "' ignored."); } }
internal UserReportParameter(Report rpt, ReportParameter rp) { _rpt = rpt; _rp = rp; }
/// <summary> /// obtain value of ReportParameter /// </summary> public FunctionReportParameterLabel(ReportParameter parm) : base(parm) { }
IExpr _arg; // when MultiValue parameter; methods may need arguments /// <summary> /// obtain value of ReportParameter /// </summary> public FunctionReportParameter(ReportParameter parm) { p=parm; _type = ReportParameterMethodEnum.Value; _arg = null; }