Pravljenje Report Viewer u c#

Na novu formu sam povukao iz toolbox kotrolu report viewer i u njenom load dogadjaju sam otkucao kod
CrystalReport1 cr = new CrystalReport1();
cr.SetDataSource(bazaDataSource);
Izvestaj I = new Izvestaj();
I.SetReportSource(cr);
I.WindowState = FormWindowState.Maximized;
I.Show();
onako kako si mi ti napisao
 
Ne ne, ovaj kod ide na glavnu formu, a Izvestaj ti je druga forma gde je samo Report viewer. Ti je ovde kreiras i prenosis joj izvor podataka.

Dakle ovako:

Glavna Forma:

private void button2_Click_1(object sender, EventArgs e)
{
tb_StocksTableAdapter.FillBy1(this.TvojDataSet.tb_Stocks);
Stocks rep = new Stocks();
rep.SetDataSource(TvojDataSet);
Reports I = new Reports();
I.SetReportSourceStocks(rep);
I.WindowState = FormWindowState.Maximized;
I.ShowDialog();
}

Forma gde je report viewer: u ovom primeru se zove Reports.cs

public void SetReportSourceStocks(Stocks c)
{
crystalReportViewer1.ReportSource = c;
}

Naravno, treba da imas Stocks.rpt fajl koj ipoziva odgovarajucu tabelu dataseta, u ovom primeru this.TvojDataSet.tb_Stocks
 
Kada kreiras Table adapter, tu liniju koda ti C# sam napravi i stavi u FormLoad dogadjaj. Ti mozes da promenis SQL komandu koja ti izdvaja podatke iz baze. Da bi stampao izvestaj, prvo moras da imas lepo sredjenu komunikaciju izmedju programa i sql servera, da znas kako i kojim podacima pristupas, za to ti sluzi TableAdapter. E kada imas grid i vidis podatke, posle toga pravis Crystal Report koji ce te podatke da prikaze na papiru.
 
E, postajes malo naporan, jel ti mene ovde ze.zas danima ili sta?
Na formi gde je report viewer ne moras da imas nista drugo. Evo ti par linkova koje si i sam mogao da nadjes preko bilo kog pretrazivaca.

http://www.c-sharpcorner.com/Articles/ArticleListing.aspx?SectionID=1&SubSectionID=61
http://diamond.businessobjects.com/node/341
http://diamond.businessobjects.com/node/3107
http://www.codeproject.com/csharp/leTaonarticle2.asp

Do sada si mogao da razbijes ovu oblast da si hteo da se malo potrudis, a ne da cekas da ti neko sazvace kod koji bi samo pastovao u svoju aplikaciju.
 

Back
Top