ciao

ho un problema con i report di VStudio2005, in questo senso:

- ho una form che contiene un reportviewer collegato ad un report locale
- la form è richiamata da un'altra form di ricerca e deve visualizzare solo i record che soddisfano la ricerca in corso
- PROBLEMA: quando apro il report (lo faccio in modalità anteprima di stampa) mi accorgo che ad esempio mentre la numerazione della pagina presentata è 4/7 (7 è il numero corretto di pagine), sui pulsanti di avanzamento pagina vedo da 1 a 4. Anche se premo questi pulsanti nn cambia nulla ma se premo Aggiorna ottengo giustamente pagine da 1 a 7

la chiamata:
codice:
private void btnStampa_Click(object sender, EventArgs e)
{
    //  apre un report di stampa dei dati trovati
    int num = ((SorveglianzaSanitaria.frmMain)(this.MdiParent)).childFormNumber;

    if (_numeroRisultati > 0)
    {
        frmReportElenco repElenco = new frmReportElenco(num, CostruisceQuery());
        repElenco.MdiParent = this.MdiParent;
        repElenco.Text += " " + ((((SorveglianzaSanitaria.frmMain)(this.MdiParent)).childFormNumber++) + 1);
        repElenco.Show();
    }
    else
        MessageBox.Show("Nessun dato da stampare.", "", MessageBoxButtons.OK);
}
il report:
codice:
public frmReportElenco(int numero, string comando)
{
    InitializeComponent();

    //  assegna il numero interno
    _numeroFiglio = numero;
    //  assegna il comando dati
    _comando = comando;
}

private void frmReportElenco_Load(object sender, EventArgs e)
{
    // TODO: questa riga di codice carica i dati nella tabella 'dsSorveglianzaSanitaria.repElenco'. È possibile spostarla o rimuoverla se necessario.
    // this.repElenco_TableAdapter.Fill(this.dsSorveglianzaSanitaria.repElenco);
    
    //  crea data adapter che prepara il comando sul db
    SqlDataAdapter daReportAnag = new SqlDataAdapter(_comando, Program.strConnDB);
    
    //  popola il datatable del report con il risultato del comando eseguito dal data adapter
    daReportAnag.Fill(this.dsSorveglianzaSanitaria.repElenco);
    
    //  libera memoria (ove possibile)
    daReportAnag.Dispose();
    daReportAnag = null;

    this.reportViewer1.RefreshReport();
    //this.reportViewer1.CurrentPage = 1;
}

private void reportViewer1_Load(object sender, EventArgs e)
{
    // impostazioni all'apertura: anteprima di stampa
    this.reportViewer1.SetDisplayMode(Microsoft.Reporting.WinForms.DisplayMode.PrintLayout);
}
avete idee? grazie