Φίλε Χρήστο ευχαριστώ πολύ για την άμεση απάντησή σου.
Δοκίμασα αυτό που πρότεινες, αλλά το αποτέλεσμα ήταν το ίδιο. Παραθέτω τον κώδικα που χρησιμοποιώ και είμαι ανοιχτός σε τυχόν παρατηρήσεις.
Αρχικά φορτώνω το report στο Document κάπως έτσι:
doc1.Load(reportPath);
Μετά περνάω τις πληροφορίες σύνδεσης στη βάση για κάθε πίνακα του report:
foreach (Table rptTable in doc1.Database.Tables)
doc1.Database.Tables[rptTable.Name].ApplyLogOnInfo(loginInfo);
Δένω το report με το viewer:
CRViewer1.ReportSource = doc1;
Και τέλος διαβάζω τις παραμέτρους και κάθε default τιμή τους με ένα loop:
foreach (ParameterField viewerParameter in CRViewer1.ParameterFieldInfo)
{
msgDisplay += "Parameter: " + viewerParameter.Name + "\n";
msgDisplay += "ParameterValueType: " + viewerParameter.ParameterValueType.ToString() + "\n";
msgDisplay += "MultiValues: " + viewerParameter.EnableAllowMultipleValue.ToString() + "\n";
msgDisplay += "DefaultValues: " + viewerParameter.DefaultValues.Count.ToString() + "\n";
foreach (ParameterDiscreteValue viewerParamValue in viewerParameter.DefaultValues)
{
msgDisplay += "param->" + viewerParamValue.Description + " , ";
msgDisplay += "value->" + viewerParamValue.Value.ToString() + "\n";
}
msgDisplay += "=======================\n";
}
Τελικά παίρνω κάθε πληροφορία, εκτός από την περιγραφή των default παραμέτρων. Μέσα στο report (.rpt αρχείο) έχει οριστεί να φαίνεται η τιμή και η περιγραφή της default value (αν και αυτό δε θα 'πρεπε να έχει σημασία).
Ευχαριστώ πολύ για το χρόνο σας,
<edit>Όλα καλά τελικά! Η μέθοδος να διαβάζω τις παραμέτρους από τον crystal viewer και όχι από το document object λειτούργησε κανονικά. Ευχαριστώ και πάλι.</edit>
Νίκος Καπράλος