Avatar
lubogolis
Člen
Avatar
lubogolis:

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:

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:

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
Redaktor
Avatar
Odpovídá na Michal Štěpánek
vodacek:

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:

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:

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:

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:

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:

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.