PDA

View Full Version : [c# - winform] report - problemi di aggiornamento


Another
15-11-2007, 11:43
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:
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:
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

Another
23-11-2007, 08:31
up

Another
27-11-2007, 13:51
nobody know..:confused:

Another
10-12-2007, 13:16
:( i'm desperate

Another
19-12-2007, 15:17
nada :muro: