سلام دوستان
چجوری میشه از یه فرمی که اندازش بزرگه و برای نمایش محتواتش اسکرول میخوره چاپ گرفت حالا هر سایزی که میخواد باشه؟
سلام دوستان
چجوری میشه از یه فرمی که اندازش بزرگه و برای نمایش محتواتش اسکرول میخوره چاپ گرفت حالا هر سایزی که میخواد باشه؟
کسی کار نکرده؟
اساتید جون هرکه دوست دارید کمک کنید
بابا آخرشین
سلام دوست عزیز
منظور از محتویات فرم کنترل های آن؟یا دیتاگرید اسکرول دارد؟
به نظرم شما می توانید از طریق گراف ها فرم تان تقسیم عکس بگیرید بعد بچسبانید وسایزشان به صورت استانداردی که میخواهید تغییر دهید...اگر دیتاگرید اسکرول میخورد برای چاپش من یک کلاس دارم مخصوص چاپ دیتاگریدویو
سلام آخش یکی جواب داد
دوست عزیز خود فرمم اسکرول میخوره و اصلن دیتا گرید ندارم در مورد اون گراف ها هم که گفتین من هیچی نمیدونم اگه میتونید کمکم کنید کارم گیره؟
دوست عزیز ببین این بدردت میخوره یا نه
http://arashdownload.com/archives/2011/02/-c-5.php
باید با گراف کار کنید.فرم هات بخش بندی کنی و با فوکاس کنترلات استفاده کن.که اسکرول بیاد پائین...
یا یک عکس با پرینت اسکرین بگیر ببینم چه کلکی میشد بش زد...
این لینکی که گزاشتین که بدردم نخورد مثلا من این عکس فرمی رو که گزاشتم رو میخوام چاپ کنم
با کریستال ریپورت کار کردی؟از طریق آن میتونی پارامترهات بفرستی روی برگه مورد نظزت چاپ کنی....
کار کردم ولی نمیدونم چی میگی؟
خوب دوست عزیز،این چیزهای که روی فرمت فقط میبینم متن هست درسته؟و جایگذاریشان کردی؟
شما می توانید با کریستال روی برگه مورد نظزتان پارامتر تعریف کنید و جاهاش تهیین کنید بعد از طریق فرم به پارامتر ها مقادیر بفرستی بعد چاپ کنی...
حرف شما متین ولی این یک نمونه از فرم است ولی ممکنه کاربر یه فرم دیگری با یه سایز و فیلدهای مختلف دیگه ای تعریف کنه اونوقت تکلیف چیه؟
خوب دوست عزیز اصولاً برای چاپ همچین مقادیر خودم به شخصه از کریستال استفاده می کنم.اما امکان تعریف پارامتر و جابجای پارامترها در هنگام اجرا برای کریستال موجود هست...
خوب قربونت یه نمونه برام بزار خدا خیرت بده
خوب دوست عزیز
برای جابجای پارامترهات از این قطعه کد استفاده کنید که هر پارامتر نسبت به چپ و بالای فرم چیدمان میشد.
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);
خوب حالا چندتا سوال
1- چجوری تو کد به تعداد فیلدهام پارامتر تعریف کنم؟
2-سایز صفحه رو چجوری بدم؟
اگر ی چرخ کوچیک میزدی تو نت ی چیژهای پیدا میکردی
http://p2p.wrox.com/book-professiona...t-using-c.html
سلم دوست عزیز من طبق کمکهای شما و سایتی که معرفی کرده بودید پیش رفتم ولی خطا میگرم شما میدونید چرا؟
سلام
این ارور به خاطز اینکه آن پارامتر در section1 وجود ندارد
شما می توانید حدوده 30-40پارمتر تعریف کنی پیش فرض تو secttion1 قرار بده اگر مقدار ندارد "" در غیر اینصورت مقدار دهی کن و مکانشان تغییر بده...(خودم این کار میکنم)
پارامتر ایجاد کردن یک کم مکافات دارد اما ی سری به این مثال بزن http://www.codeproject.com/Articles/...-use-Stored-Pr
دوست عزیز من هرچی ور میرم نمیتونم درستش کنم اگه نمونه کدی داری برام بزار خدا خیرت بده من میخوام اطلاعات داخل فرمم که همش متن است روی یه کاغذی که سایزش متفاوت است چاپ کنم البته میخوام فونت متونم هم تغییر بدم
سلام دوست عزیز
ببخشید که دیر شد این یک نمونه کوچک که با پارامترها کار شده
work_crystall.rar
سلام
نزدیکه خودمو خفه کنم
چند تا سوال :
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 ;
پسر خوب....
سایز صفحه http://www.google.com/#hl=en&output=...w=1280&bih=697
فونتش عوض میشد...http://www.codeproject.com/Tips/2732...rt-Dynamically
بعد ببین چه locationهای برمیگردوند با messagebox
step..step...
.......
یک چیز از من بشنو...
هیج وقت با اعصاب خوردگی پا برنامه نشین..به خودت بگو حلش میکنم....همه چیزها حل شدنی چه زود و چه دیر آخرش حل میشد....
قطعه کد تغییر فونت
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
یک 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)
////////////////////////
}
{