I am dynamically reading parameters for my reports from either a posted web form or a querystring, and as such they're all strings. Currently I loop through the parameters in my report, and match up the supplied parameter names to do an assignment like this:
foreach (ReportParameter parameter in MyReportSource.ReportDocument.ReportParameters) {
switch (parameter.Type) {
case ReportParameterType.Boolean:
parameter.Value = Convert.ToBoolean(Parameters[parameter.Name]);
break;
case ReportParameterType.DateTime:
parameter.Value = Convert.ToDateTime(Parameters[parameter.Name]);
break;
case ReportParameterType.Float:
parameter.Value = Convert.ToDouble(Parameters[parameter.Name]);
break;
case ReportParameterType.Integer:
parameter.Value = Convert.ToInt64(Parameters[parameter.Name]);
break;
default:
parameter.Value = Parameters[parameter.Name];
break;
}
}
is there a better way to do this? If at some point Telerik adds a new parameter type, I have to go in and change this code (which I'd like to prevent). Can I just use:
parameter.Value = Parameters[parameter.Name];
does Telerik take the Value and internally covert it? or would just passing along all the Strings potential cause me issues later with things like validation and default values?
foreach (ReportParameter parameter in MyReportSource.ReportDocument.ReportParameters) {
switch (parameter.Type) {
case ReportParameterType.Boolean:
parameter.Value = Convert.ToBoolean(Parameters[parameter.Name]);
break;
case ReportParameterType.DateTime:
parameter.Value = Convert.ToDateTime(Parameters[parameter.Name]);
break;
case ReportParameterType.Float:
parameter.Value = Convert.ToDouble(Parameters[parameter.Name]);
break;
case ReportParameterType.Integer:
parameter.Value = Convert.ToInt64(Parameters[parameter.Name]);
break;
default:
parameter.Value = Parameters[parameter.Name];
break;
}
}
is there a better way to do this? If at some point Telerik adds a new parameter type, I have to go in and change this code (which I'd like to prevent). Can I just use:
parameter.Value = Parameters[parameter.Name];
does Telerik take the Value and internally covert it? or would just passing along all the Strings potential cause me issues later with things like validation and default values?