ciao,
la messagebox è della tua applicazione, e il report è visualizzato dentro ad una form?
Se è cosi', ti basta passare al report un parametro (o un campo formula), e discriminare la proprieta' "Suppress" del sottoreport, in base al valore di questo parametro (o campo formula).
Percio', sottoreport->tastoDX->format object->tasto [x+2]->si apre l'editor delle formule:
if {@campoFormula} = 'si' then
true
else
false
e poi da codice gli passi il valore dopo che hai raccolto la scelta dell'utente:
ReportDocument report = new ReportDocument();
report.Load(@"...rptArticoli.rpt");
report.SetDataSource(...);
report.DataDefinition.FormulaFields["campoFormula"].Text = 'si';
...
Io ti consilgio di passare tramite un campo "formula" piuttosto del parametro, perche' quest'ultimo se non viene passato al report (tipo appena lanci il report) viene chiesto all'utente, e magari tu ti dimentichi o non è necessario e il report te lo chiede.
Mentre con i campi formula se non sono passati, viene cmq dato un valore di default (che appunto puoi mettere tu) e tutto va liscio...quindi diciamo che non è "obbligatorio".
Dopodiche' richiami il metodo "RefreshReport" del viewer, in modo da visualizzare le modifiche.
ciao.
Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo