PDA

View Full Version : چاپ فرمس که دارای نوار پیمایش است؟



majid.gymnast
پنج شنبه 20 بهمن 1390, 17:32 عصر
سلام دوستان
چجوری میشه از یه فرمی که اندازش بزرگه و برای نمایش محتواتش اسکرول میخوره چاپ گرفت حالا هر سایزی که میخواد باشه؟

majid.gymnast
شنبه 22 بهمن 1390, 12:15 عصر
کسی کار نکرده؟

majid.gymnast
یک شنبه 23 بهمن 1390, 10:26 صبح
اساتید جون هرکه دوست دارید کمک کنید:گریه:

majid.gymnast
دوشنبه 24 بهمن 1390, 08:05 صبح
بابا آخرشین

saeed.mohammadi
دوشنبه 24 بهمن 1390, 09:18 صبح
سلام دوست عزیز
منظور از محتویات فرم کنترل های آن؟یا دیتاگرید اسکرول دارد؟
به نظرم شما می توانید از طریق گراف ها فرم تان تقسیم عکس بگیرید بعد بچسبانید وسایزشان به صورت استانداردی که میخواهید تغییر دهید...اگر دیتاگرید اسکرول میخورد برای چاپش من یک کلاس دارم مخصوص چاپ دیتاگریدویو

majid.gymnast
دوشنبه 24 بهمن 1390, 09:33 صبح
سلام آخش یکی جواب داد
دوست عزیز خود فرمم اسکرول میخوره و اصلن دیتا گرید ندارم در مورد اون گراف ها هم که گفتین من هیچی نمیدونم اگه میتونید کمکم کنید کارم گیره؟

saeed.mohammadi
دوشنبه 24 بهمن 1390, 10:26 صبح
دوست عزیز ببین این بدردت میخوره یا نه
http://arashdownload.com/archives/2011/02/-c-5.php
باید با گراف کار کنید.فرم هات بخش بندی کنی و با فوکاس کنترلات استفاده کن.که اسکرول بیاد پائین...
یا یک عکس با پرینت اسکرین بگیر ببینم چه کلکی میشد بش زد...:چشمک:

majid.gymnast
دوشنبه 24 بهمن 1390, 10:52 صبح
این لینکی که گزاشتین که بدردم نخورد مثلا من این عکس فرمی رو که گزاشتم رو میخوام چاپ کنم

saeed.mohammadi
دوشنبه 24 بهمن 1390, 10:55 صبح
با کریستال ریپورت کار کردی؟از طریق آن میتونی پارامترهات بفرستی روی برگه مورد نظزت چاپ کنی....

majid.gymnast
دوشنبه 24 بهمن 1390, 11:10 صبح
کار کردم ولی نمیدونم چی میگی؟

saeed.mohammadi
دوشنبه 24 بهمن 1390, 11:16 صبح
خوب دوست عزیز،این چیزهای که روی فرمت فقط میبینم متن هست درسته؟و جایگذاریشان کردی؟
شما می توانید با کریستال روی برگه مورد نظزتان پارامتر تعریف کنید و جاهاش تهیین کنید بعد از طریق فرم به پارامتر ها مقادیر بفرستی بعد چاپ کنی...

majid.gymnast
دوشنبه 24 بهمن 1390, 11:22 صبح
حرف شما متین ولی این یک نمونه از فرم است ولی ممکنه کاربر یه فرم دیگری با یه سایز و فیلدهای مختلف دیگه ای تعریف کنه اونوقت تکلیف چیه؟

saeed.mohammadi
دوشنبه 24 بهمن 1390, 11:58 صبح
خوب دوست عزیز اصولاً برای چاپ همچین مقادیر خودم به شخصه از کریستال استفاده می کنم.اما امکان تعریف پارامتر و جابجای پارامترها در هنگام اجرا برای کریستال موجود هست...

majid.gymnast
دوشنبه 24 بهمن 1390, 12:11 عصر
خوب قربونت یه نمونه برام بزار خدا خیرت بده

saeed.mohammadi
دوشنبه 24 بهمن 1390, 12:20 عصر
خوب دوست عزیز
برای جابجای پارامترهات از این قطعه کد استفاده کنید که هر پارامتر نسبت به چپ و بالای فرم چیدمان میشد.

rpt_ersall1.SetParameterValue(0, "شهرستان");
crystalReportViewer1.ReportSource = rpt_ersall1;
rpt_ersall1.Section1.ReportObjects[0].Left = Convert.ToInt32(numericUpDown1.Value);
rpt_ersall1.Section1.ReportObjects[0].Top = Convert.ToInt32(numericUpDown2.Value);

majid.gymnast
دوشنبه 24 بهمن 1390, 12:35 عصر
خوب حالا چندتا سوال
1- چجوری تو کد به تعداد فیلدهام پارامتر تعریف کنم؟
2-سایز صفحه رو چجوری بدم؟

saeed.mohammadi
دوشنبه 24 بهمن 1390, 12:46 عصر
اگر ی چرخ کوچیک میزدی تو نت ی چیژهای پیدا میکردی
http://p2p.wrox.com/book-professional-crystal-reports-vs-net/17318-how-pass-parameter-crystal-report-using-c.html

majid.gymnast
دوشنبه 24 بهمن 1390, 19:10 عصر
سلم دوست عزیز من طبق کمکهای شما و سایتی که معرفی کرده بودید پیش رفتم ولی خطا میگرم شما میدونید چرا؟

saeed.mohammadi
سه شنبه 25 بهمن 1390, 09:46 صبح
سلام
این ارور به خاطز اینکه آن پارامتر در section1 وجود ندارد
شما می توانید حدوده 30-40پارمتر تعریف کنی پیش فرض تو secttion1 قرار بده اگر مقدار ندارد "" در غیر اینصورت مقدار دهی کن و مکانشان تغییر بده...(خودم این کار میکنم)
پارامتر ایجاد کردن یک کم مکافات دارد اما ی سری به این مثال بزن http://www.codeproject.com/Articles/10173/Loading-Crystal-Report-reports-which-use-Stored-Pr

majid.gymnast
سه شنبه 25 بهمن 1390, 10:36 صبح
دوست عزیز من هرچی ور میرم نمیتونم درستش کنم اگه نمونه کدی داری برام بزار خدا خیرت بده من میخوام اطلاعات داخل فرمم که همش متن است روی یه کاغذی که سایزش متفاوت است چاپ کنم البته میخوام فونت متونم هم تغییر بدم

saeed.mohammadi
سه شنبه 25 بهمن 1390, 16:25 عصر
سلام دوست عزیز
ببخشید که دیر شد این یک نمونه کوچک که با پارامترها کار شده
82662

majid.gymnast
سه شنبه 25 بهمن 1390, 18:12 عصر
سلام
نزدیکه خودمو خفه کنم:عصبانی++:
چند تا سوال :
1-اشکال این کدی که میزارم تو چیه که وقتی میخوام به پارامترهام طول و عرض بدم اصلا هیچ پارامتری رو نشون نمیده؟
2- سایز صفحه رو میخوام به اندازه سایز picturebox1 کنم ولی نمیتونم؟
3-آیا میشه همونجور که مکان پارامترها رو عوض میکنیم نو فونت پارامترها هم عوض کرد؟
4-من وقتی طبق کد زیر left پارامترهام رو با x کنترلهام و top رو با y جایگزاری میکنم تمام پارامترهام یک جا گوشه سمت چپ و بالا گزارشم روی هم میافتند؟
PrintRPT rpt = new PrintRPT();
string text = "";
int i = 0;
foreach (Control item in pictureBox1.Controls)
{
if (item is TextBox || item is FreeControls.PersianDateTimePicker)
{
if (item is TextBox)
{
text = item.Text;
}
else if (item is FreeControls.PersianDateTimePicker)
{
text = ((FreeControls.PersianDateTimePicker)item).Value.T oString();
}

rpt.SetParameterValue(i, text);
rpt.Section1.ReportObjects[i].Top = item.Location.Y;
rpt.Section1.ReportObjects[i].Left = item.Location.X;
rpt.Section1.ReportObjects[i].Width = item.Width;
rpt.Section1.ReportObjects[i].Height = item.Height;
i++;
}
}
rpt.PrintOptions.PaperSize = (CrystalDecisions.Shared.PaperSize)System.Drawing. Printing.PaperKind.Custom;// (CrystalDecisions.Shared.PaperSize)PkSize.RawKind;
crystalReportViewer1.ReportSource = rpt ;

saeed.mohammadi
سه شنبه 25 بهمن 1390, 19:50 عصر
پسر خوب....
سایز صفحه http://www.google.com/#hl=en&output=search&sclient=psy-ab&q=change+paper+size+crystal+report+vb6+C%23&psj=1&oq=change+paper+size+crystal+report+vb6+C%23&aq=f&aqi=&aql=&gs_sm=3&gs_upl=341l12161l0l12529l23l23l0l4l4l1l1009l10037l 3-6.6.4.2.1l19l0&bav=on.2,or.r_gc.r_pw.r_qf.,cf.osb&fp=c649a63d681107d2&biw=1280&bih=697
فونتش عوض میشد...http://www.codeproject.com/Tips/273260/Change-Font-Size-of-Crystal-Report-Dynamically
بعد ببین چه locationهای برمیگردوند با messagebox
step..step...
.......
یک چیز از من بشنو...
هیج وقت با اعصاب خوردگی پا برنامه نشین..به خودت بگو حلش میکنم....همه چیزها حل شدنی چه زود و چه دیر آخرش حل میشد....

saeed.mohammadi
سه شنبه 25 بهمن 1390, 20:13 عصر
قطعه کد تغییر فونت

FieldObject fUserNumber = (FieldObject)r.Section1.ReportObjects[0];
fUserNumber.ApplyFont(new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(178))));



ببین برای تغییر سایز این بدرت میخورد http://dotnetforum.lk/forums/p/11546/38336.aspx

saeed.mohammadi
چهارشنبه 24 اسفند 1390, 12:33 عصر
یک printdocument به فرمت اضافه کن
این ی قطعه کد برای برچسب استفاده میکنم.(هم متن هم مستطیل و ... میتونی کار کنید)

PrintDialog printDialog1 = new PrintDialog();
PrintDocument pd = new PrintDocument();
PaperSize psz = new PaperSize("MyPaper", Convert.ToInt32(prmina.Properties.Settings.Default .size_w), Convert.ToInt32(prmina.Properties.Settings.Default .size_h));//تنظیم سایز کاغذ -

pd.DefaultPageSettings.PaperSize = psz;

pd.PrintPage += new PrintPageEventHandler(printDocument1_PrintPage_1);
pd.Print();





private void printDocument1_PrintPage_1(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{


Pen my_pen = new Pen(Brushes.DeepSkyBlue);
my_pen.Color = Color.Black;
Brush br = my_pen.Brush;
e.Graphics.DrawRectangle(my_pen, w1, h1 , pymaesh_w, pymaesh_h );//rectangle
float hh = 0;
System.Drawing.SizeF text_size;
if (prmina.Properties.Settings.Default.show_sherkat == "1")
{
e.Graphics.DrawString(prmina.Properties.Settings.D efault.name_sherkat + "\n\r" + prmina.Properties.Settings.Default.barchasb, new System.Drawing.Font("B Nazanin", 11F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(178))), br, (w1 + ((pymaesh_w - (newbitmap.Width)) / 2)), h1 + 2);
h3 = e.Graphics.MeasureString(prmina.Properties.Setting s.Default.name_sherkat + "\n\r" + prmina.Properties.Settings.Default.barchasb, new System.Drawing.Font("B Nazanin", 10F, System.Drawing.FontStyle.Bold));
}
//System.Drawing.Font fn =
/////////////////////////////////////
if (prmina.Properties.Settings.Default.show_project == "1")
{
text_size = e.Graphics.MeasureString("پروژه:" + my_datagridview1.Rows[peymaesh_data].Cells[6].Value.ToString(), new System.Drawing.Font("B Nazanin", 10F, System.Drawing.FontStyle.Bold));
hh += text_size.Height;
e.Graphics.DrawString("\n" + "پروژه:" + my_datagridview1.Rows[peymaesh_data].Cells[6].Value.ToString(), new System.Drawing.Font("B Nazanin", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(178))), br, (w1 + ((pymaesh_w - (text_size.Width)) / 2)), (h1 + text_size.Height));//+(pymaesh_w/2)
////////////////////////
}
{