We've created our own viewer to hide a parameter (user name) and developed dynamic cascading prompts prior to Crystal having it build it and are in the middle of upgrading our viewer to VS2010 C# from VS2010 C++. We used ParameterFields.Count to loop through the parameters of the report, setting the user id, hiding it from the selection and building our selection values. We've since upgraded and ParameterFields.Count now also contains the subreport parameter which are always linked but still part of the count. All we want to do is loop through the main report parameters, check them against our ini file and build the screen as we were before. The addition of subreport paramters are causing a problem because generally we'll use the same parameter name between reports. Any ideas on how to check if the parameter in the count is in the main report or subreport or only loop through paramters defined in the main report. Thank you.