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:
il report: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); }
avete idee? graziecodice: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); }

Rispondi quotando