[ era1 @ 22.10.2007. 08:03 ] @
Interesuje me kako bih najjednostavnije mogao napraviti mogucnost printa podataka iz DataSet-a. Nije bitno kako ce izgledati, ne treba mi podesavanje margina, printpreview itd itd... samo najjednostavnije preslikavanje na papir.

Pozdrav svima...
[ DarkMan @ 22.10.2007. 08:22 ] @
Evo sta se moze naci preko google-a
http://www.c-sharpcorner.com/Graphics/DataGridPrinterMG.asp
[ jablan @ 22.10.2007. 08:40 ] @
Napraviš veb projekat, na stranicu nalepiš datagrid, širina 100% i binduješ dataset na nju. Štampaš iz browsera.
[ Astek @ 22.10.2007. 11:14 ] @
1. Export u HTML

2. Export u txt fajl - imaš odličnu podršku u NET-u

3. PrintDocument - tu treba nesto koda ali imaš dosta o tome na mreži..


[ era1 @ 22.10.2007. 12:14 ] @
Mislio sam nešto preko CrystalReport-a i njegovog wizarda. Sad malo gledam MSDN, mislim da mi je to najjednostavnije.

Sada sam preko wizarda napravio izgled izveštaja, samo kada pozovem metodu PrintToPrinter ne dobijem podatke već samo strukturu izveštaja, iako sam DataSet popunio podacima (prikazuju se na kontrolama na formi). Jel zna neko šta još treba da podesim?
[ android~paranoid @ 22.10.2007. 13:32 ] @
Ovo je sa filterom(za VB.NET), gde oznacis polja koja hoces da odstampas.

«Public Fajl as String» stavis u neki Modul (da bude vidljiv u svim
fajlovima) kao i «Public Filter As String».

u dogadjaju btnPrint_Click.
Fajl = "D:\MojPutDo\Crystalreport1.rpt"
Definises polja koja zelis da prikazes
npr. Filter = "{zemlja.NAZIVZEMLJE} = '" & cmbZemlja3.Text & "' and {MESTO.NAZIVMESTA} = '" & cmbMesto4.Text & "'"
(pre toga si kreirao na Crystal Report i izabrao polja koja ce se naci na izvestaju).
Dim fCristal As New frmStampa
fCristal.ShowDialog() (forma gde si stavio Crystal Report Viewer)

Kreiras OnLoad dogadjaj za formu gde si stavio Crystal Report Viewer
CrystalReportViewer.ReportSource = Fajl
CrystalReportViewer.SelectionFormula = Filter
CrystalReportViewer.RefreshReport()
CrystalReportViewer.PrintReport()

Sve to u tom OnLoad dogadjaju. Treba da se pokrene podesavanje za printer i onda stampas
[ toxi_programer @ 22.10.2007. 15:50 ] @
Citat:
jablan: Napraviš veb projekat, na stranicu nalepiš datagrid, širina 100% i binduješ dataset na nju. Štampaš iz browsera.


Citat:
Astek: 1. Export u HTML


Nadovezao bih se na pitanje od @era1, nadam se da neće da se ljuti.
Imam DataSet i pomoću Fill() funkcije objekta DataAdapter ga popunim sa podacima. Onda iskoristim f-ju GetXml() i ono što dobijem snimim u fajl. Kada taj fajl pokušam da otvorim iz Firefox-a dobijem ovu poruku:
Citat:

This XML file does not appear to have any style information associated with it. The document tree is shown below.

a ja bih hteo da dobijem nešto poput tabele da bih to mogao da štampam.

@jablan je rekao kako može da se uradi to sa browser-om ali ja to ne znam da uradim pa ako može neko uputstvo za to ili ovo sa Xml-om što sam pokušao...
[ jablan @ 22.10.2007. 16:02 ] @
Citat:
toxi_programer: a ja bih hteo da dobijem nešto poput tabele da bih to mogao da štampam.

Pored XML-a, treba ti i XSL transformacija koja će taj XML da prevede u HTML. http://www.w3schools.com/xsl/xsl_intro.asp
Citat:
@jablan je rekao kako može da se uradi to sa browser-om ali ja to ne znam da uradim

Gde tačno škripi? Napraviš web formu, na nju staviš grid, nakačiš na njega dataset, izbilduješ, otvoriš stranicu iz Firefoxa, File/Print i to je to.
[ toxi_programer @ 22.10.2007. 16:08 ] @
OK, mislim da sam našao odgovor na svoje pitanje: http://www.w3schools.com/xml/xml_data_island.asp

Nisam stigao da probam ali koliko vidim potrebno je da se prvo učita XML fajl a onda će se preko tabele i <span> atributa prikazati svi podaci( za koje dodam kolone u tabeli) iz XML fajla. Cool.


DOPUNA:

Sad imam problem Radi to sve ali ima ograničavajuća okolnost - radi samo u Internet Exploreru, neće da radi u FireFox-u! Može li to da se ispravi nekako?

[Ovu poruku je menjao toxi_programer dana 22.10.2007. u 17:29 GMT+1]
[ android~paranoid @ 22.10.2007. 18:01 ] @
Citat:
toxi_programer:
DOPUNA:

Sad imam problem :) Radi to sve ali ima ograničavajuća okolnost - radi samo u Internet Exploreru, neće da radi u FireFox-u! Može li to da se ispravi nekako?

[Ovu poruku je menjao toxi_programer dana 22.10.2007. u 17:29 GMT+1]


Ne radi u Firefox. Evo kako bi otprilike izgledalo onako kako jablan kaze:
Ako si dobio xml fajl sa zapisima iz DataSeta onda transformises koristeci xslt fajl u HTML:

Code:

XmlTextWriter writer = new XmlTextWriter("UaExplorer.html", null);
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("Xslfajl.xslt");
xslt.Transform("Dataset.xml",writer);
writer.Close();


A u Xslfajl.xslt:

Code:

<?xml version="1.0" encoding="utf-8"?>

<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
    <html>
    <body>
      <xsl:for-each select="NewDataSet/Table">
    <strong>Artist:</strong><xsl:value-of select="ARTIST"/>
               <br />
    <strong>Title:</strong><xsl:value-of select="TITLE"/>
          <br />
      </xsl:for-each>
    </body>
  </html>
</xsl:template>

</xsl:stylesheet>



[Ovu poruku je menjao android~paranoid dana 22.10.2007. u 19:21 GMT+1]
[ BezPanike @ 23.10.2007. 06:52 ] @
Za VB najjednostvanije je ovo:

http://msdn2.microsoft.com/en-us/vbasic/bb735936.aspx
[ era1 @ 23.10.2007. 07:23 ] @
Alo, raja... odoste daleko od teme... :)

OK su odgovori za print, samo mi i dalje nije jasno zašto CrystalReport ne prikazuje podatke iz DataSet-a, ako je isti napunjen podacima (vidim ih u kontrolama na formi)?

Našao sam u Helpu da to radi samo sa tipiziranim DataSet-om, ali nisam siguran koja je razlika izmedju tipiziranog i netipiziranog. Ako neko zna molio bih za malo pojašnjenje...

Pozz svima!
[ era1 @ 23.10.2007. 08:14 ] @
Našao sam kvaku...

Nije dovoljno samo u wizardu označiti DataSource, već se mora u kodu napisati

Dim NoviReport As New CrystalReport1
NoviReport .SetDataSource(DataSet1)
PrintPreview.CrystalReportViewer1.ReportSource = NoviReport

i onda radi...

Poz svima!
[ toxi_programer @ 23.10.2007. 19:54 ] @
Puno hvala @android~paranoid-u i družini koji objasniše ovo do u detalje!