مشکل من اینه که میخوام در زمان اجرا فونت و ... را تغییر دهم
یعنی فونت گزارش توسط کاربر مشخص میشه
لطفا کمک کنید
ممنون
Printable View
مشکل من اینه که میخوام در زمان اجرا فونت و ... را تغییر دهم
یعنی فونت گزارش توسط کاربر مشخص میشه
لطفا کمک کنید
ممنون
اگر در RunTime از Class مربوط به گزارش Object می سازید می توانید به فیلد مورد نظر در runtime دسترسی پیدا کرده و خاصیت مربوط به آنرا تغییر دهید: مثلا اگر نام گزارشتان Rpt می باشد و در آن فیلد a نمایش داده می شود. و شی rpt1 از آنرا ایجاد نموده اید کد زیر را می توانید به آن اضافه نمایید:
rpt1.DataDefinition.Feilds["a"].Font = font1
راه حل دیگر استفاده از پارامتر است. مثلا پارامتری عددی برای اندازه فونت انتخاب شده ، پارامتری رسته ای برای face فونت انتخاب شده و ...
که در گزارش font شی انتخاب شده را می توانید از این پارامترها بخوانید.
روی شی کلیک راست کرده گزینه font را انتخاب و جلوی فونت به جای انتخاب از فونت های موجود فونت را توسط فرمول انتخاب کنید.
در Runtime نیز پارامترهایمربوط به face ، اندازه ، ... را برای گزارش پاس کنید.
برای تعیین مشخصات یه فونت (name,size,style) توی گزارش با کد نویسی این کارهایی که میگم رو انجام بده . اگه جواب نگرفتی بهم ایمیل بزن .
در ابتدا متغیر rp را از نوع list_report (نام فرم گزارش طراحی شده) تعریف کن
Dim rp As list_report = New list_report
فرض می کنیم یه TextObject توی محیط طراحی گزارشت اضافه کردی به اسم Text1
کد زیر را برای کار با مشخصات فونت Text1 در یه جای مناسب بنویس
Dim txt1 As CrystalDecisions.CrystalReports.Engine.TextObject
txt1 = rp.ReportDefinition.ReportObjects("Text1")
txt1.Text = "متن نمونه"
Dim myFontStyle As FontStyle
myFontStyle = FontStyle.Regular
Dim myfont As Font = New Font(font_name,font_size,myFontStyle,GraphicsUnit. Pixel)
txt1.ApplyFont(myfont)
در انتهای کار هم وقتی همه تنظیمهای خط و باکس و فونت و ... تموم شد rp رو جایگزین کن.
CrystalReportViewer1.ReportSource = rp
البته باید حواست باشه با توجه به اینکه عرض و ارتفاع TextObject موقع طراحی یه چیزی تعریف میشه ممکنه فونتی که استفاده می کنی توی اون ابعاد نگنجه یا زیادی ریز باشه بنابر این باید ابعاد TextObject رو به تناسب ابعاد فونت تغییر بدی تا موقع نمایش گزارش زشت نشه. اگه مشکل پیدا کردی بگو تا اونم برات توضیح بدم.
خیلی ممنون
با استفاده از این مطالب تونستم مشکام حل کنم