Ευχαριστώ Γιάννη για τη βοήθεια, μόλις κατάφερα να ασχοληθώ με το θέμα
αυτό (εμ, γυρίσαμε απο διακοπές κιόλας .. μην το κάψουμε με τη μία ..
:) ... ), αλλά ...
"Cannot find parameter field @SYSUSER in subreport
sub_ResAllocations.rpt" ... ενώ η δεδομένη παράμετρος φαίνεται ξεκάθαρα
στα parameter fields του subreport.
Ιδού και ο μαγικός μου κώδικας που ασχολείται με το να θέτει τις παραμέτρους ...
protected void SetParameter(XmlNode paramDef, string strReportName){
XmlAttribute
nameAttr = paramDef.Attributes["name"];
// Make sure I have a name
if(nameAttr==null) return;
// Get the name
string strParamName = nameAttr.Value;
object paramValue = GetParamValue(paramDef);
// put the value in a param object
ParameterDiscreteValue
paramDiscrete = new ParameterDiscreteValue();
paramDiscrete.Value
= paramValue;
// Get the field definition - if I was given a null report
name, it is a master report parameter so handle accordingly
ParameterFieldDefinition
paramFieldDef = (strReportName!=null)?m_Report.DataDefinition.ParameterFields[strParamName,
strReportName] : m_Report.DataDefinition.ParameterFields[strParamName];
// get the field values and add the param object ot them
ParameterValues
paramValues = paramFieldDef.CurrentValues;
paramValues.Add(paramDiscrete);
// apply the changes to the field to pass the parameter
paramFieldDef.ApplyCurrentValues(paramValues);
}
Το exception πετάγεται απ'τη γραμμή
paramFieldDef.ApplyCurrentValues(paramValues);
Το οποίο όμως δεν είναι τρελλό, εφ'όσον λίγες γραμμές πιο πάνω παίρνω
το paramFieldDef απο το DataDefinition.ParameterFields, που σημαίνει
οτι .. υπάρχει ?!?!?!
Θα μας τρελλάνουν τα Crystal και σήμερα φαίνεται :P
Angel
O:]