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