سلام
چند روز پیش برای یکی از دوستانم یه گزارش طراحی کردم که گفتم این طراحی رو توی سایت بزارم ممکنه به درد کسی بخوره
گزارشات به صورت زیر بودند که برای چاپ می بایست به صورت حروف جدا جدا چاپ بشوند و دور هر کاراکتر هم یک چهار خونه باشد
اول به ذهنم رسید یه فونتی پیدا کنم که دور هر کاراکترش یک خونه باشه آخرش به فونت B Kidnap رسیدم که فایده ای نداشت
بعد گفتم به تعداد کاراکتر مجاز، خونه مربعی بسازم بعد یک متغیر روی اون ست کنم. با توجه به شکل زیر چهار خونه ها رو ساختم و یه تکس باکس هم روی اون کشیدم.
بعد نوبت رسید به تنظیم مقدار تکس باکس که باید کاراکترهای جدا از باشند برای انجام این کار با استفاده از تکه کد زیر این کار رو انجام دادم
string input = "تست";
string outString;
outString = string.Join(" ", input.ToCharArray());
MessageBox.Show(outString);
بعد برای طراحی گزارش بعدی یه فرم داشتیم به شکل زیر به ازای انتخاب هر گزینه باید به صورت چهار گزینه ای گزارش نمایش داده شود
ابتدا فرمی به شکل زیر طراحی شد و برای نمایش گزارش هم چند shape گذاشتم روی صفحه و جلو هر شکل هم مطابق تصویر گزینه ها رو گذاشتم
در بخش کد نویسی هم کد زیر گذاشته شد که کاربر به انتخاب هر گزینه تیک مورد نظر در قسمت گزارش خورده می شود
StiReport stiRpt = new StiReport();
stiRpt.Load("Report.mrt");string select = "";
if (radioButton1.Checked == true) select = "Shape1";
if (radioButton2.Checked == true) select = "Shape2";
if (radioButton3.Checked == true) select = "Shape3";
if (radioButton4.Checked == true) select = "Shape4";if (!string.IsNullOrWhiteSpace(select))
{
var Shape1 = stiRpt.GetComponentByName(select);
(Shape1 as StiShape).Brush = new Stimulsoft.Base.Drawing.StiSolidBrush(System.Drawi ng.Color.Black);
(Shape1 as StiShape).ShapeType = new Stimulsoft.Report.Components.ShapeTypes.StiOvalSha peType();
}
stiRpt.Compile();
stiRpt["Var1"] = string.Join(" ", "به نام خدا".ToCharArray());
stiRpt.Show();
در این قسمت نام shape ها به صورت shape1 در برنامه استیمول در نظر گرفته شده است.
برچسب:
نویسنده: محمد رضا جوادیان