Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Vytvaranie tlacovych zostav bez pouziti crystalu.

Aktivity
Avatar
lubogolis
Člen
Avatar
lubogolis:9.1.2015 10:32

Potreboval by som poradit s postupom ako efektivne vytvorit tlacovu zostavu priamo v c# bez pouzitia modulu Crystalu z grafickymi prvkami, ako napr. fakturu(oramovane adresy,oramovana tabulka s polozkami atd.) alebo zoznam poloziek v stlpcoch a riadkoch.
Zatial to robim pomocou triedy Graphics vykreslovanim kazdej ciarky ale je to zdlhave.
Ukazka kodu ako to robim teraz:

Graphics g;
g.DrawLine(pero1, new Point(x0, y0 + vyskaRiadku * riadokNaStrane), new Point(xMax + 15, y0 + vyskaRiadku * riadokNaStrane));
g.DrawLine(pero1, new Point(startStlpec, y0 + vyskaRiadku * riadokNaStrane), new Point(startStlpec, y0 + vyskaRiadku * (riadokNaStrane + 1)));

for (int s = 0; s < viewTable.Colum­nCount; s++)
{
if (s > 0)
{
startStlpec += viewTable.Columns[s - 1].Width;
startStlpec = 100 * s;
}
if (startStlpec + viewTable.Colum­ns[s].Width < xMax)
{
g.DrawString(vi­ewTable.Colum­ns[s].HeaderTex­t,
pismoZahlavie, Brushes.Black, startStlpec, y0 + vyskaRiadku * riadokNaStrane);
g.DrawLine(pero1, new Point(startStlpec, y0 + vyskaRiadku * riadokNaStrane), new Point(startStlpec, y0 + vyskaRiadku * (riadokNaStrane + 1)));oddelit stlpce
}
}
g.DrawLine(pero1, new Point(xMax + 15, y0 + vyskaRiadku * riadokNaStrane), new Point(xMax + 15, y0 + vyskaRiadku * (riadokNaStrane + 1)));
g.DrawLine(pero1, new Point(x0, y0 + vyskaRiadku * (riadokNaStrane + 1)), new Point(xMax + 15, y0 + vyskaRiadku * (riadokNaStrane + 1)));
podciarknut hlavicku

....atd.

 
Odpovědět
9.1.2015 10:32
Avatar
STP
Člen
Avatar
STP:9.1.2015 12:07

Můžeš použít RDLC reporty které jsou přímo ve VS. Myslím že to bude lepší než to vykreslovat ;)

Nahoru Odpovědět
9.1.2015 12:07
Když umřít, tak online!!!
Avatar
Odpovídá na lubogolis
Michal Štěpánek:9.1.2015 12:59

Nebo můžeš použít word, udělat si tam šablonu a pak ji programově vyplňovat. Takto to dělám já, protože mám express verzi VS a tam nejsou reporty jednoduše k dispozici... Pak ještě výsledný soubor uložím jako PDFko a funguje to parádně... Jen je třeba mít MS office...

Nahoru Odpovědět
9.1.2015 12:59
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
vodacek
Tvůrce
Avatar
Odpovídá na Michal Štěpánek
vodacek:9.1.2015 13:59

nebo může mít HTML šablonu a vyplňovat to do ní

 
Nahoru Odpovědět
9.1.2015 13:59
Avatar
Odpovídá na vodacek
Michal Štěpánek:9.1.2015 14:00

jen následný tisk z prohlížeče je trošku nešikovný...

Nahoru Odpovědět
9.1.2015 14:00
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Michal Štěpánek
sadlomaslox25:9.1.2015 14:23

ja sem tak taky generoval faktury. html sablona + razer engine + wkhtmltopdf = skvely vysledek a tak malo kodu :D

 
Nahoru Odpovědět
9.1.2015 14:23
Avatar
Odpovídá na sadlomaslox25
Michal Štěpánek:9.1.2015 15:17

mohl bys mě odkázat na nějaké zdroje pro použití toho wkhtmltopdf? Něco jsem vygůglil, ale moudrej z toho nejsem... Jak se s tím dělá a co je pro to třeba udělat, aby to fungovalo?

Nahoru Odpovědět
9.1.2015 15:17
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Michal Štěpánek
sadlomaslox25:9.1.2015 15:58

ja sem pouzival C# wraper (https://github.com/gmanny/Pechkin) ale ten bugoval takze sem na to mel nejaky fixy, ale muzes skusit treba https://github.com/…/TuesPechkin nebo jiny.

 
Nahoru Odpovědět
9.1.2015 15:58
Avatar
lubogolis
Člen
Avatar
lubogolis:9.1.2015 16:03

Dik za rady,
RDLC som pozrel, bude sa to dat pouzit ale budem musiet este doriesit dynamicku volbu reportu do jedneho ReportVieweru.
Pre pouzitie v prostredi VS-Expres, pozriem aj ostatne moznosti.

 
Nahoru Odpovědět
9.1.2015 16:03
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 9.