PDA

View Full Version : ارسال مقادیر از فرم به استیمول



Fastdesign
چهارشنبه 18 بهمن 1391, 10:26 صبح
با سلام

می خوام مقدار، مثلا محتویات یک Lable در سی شارپ رو به یک Text در استیمول پاس بدم .
براساس جستجوهایی که انجام دادم فقط این کد دستگیرم شد که جواب نمی ده :

stiReport1.Dictionary.Variables("date").Value = label1.Text;



با تشکر

fakhravari
چهارشنبه 18 بهمن 1391, 11:51 صبح
باید از وریبل استفاده کنید یا از این روش
StiText tx = (r.Pages[0].Components["Text1"] as StiText);
tx.Enabled = true;

Fastdesign
چهارشنبه 18 بهمن 1391, 13:02 عصر
دوست عزیز ممنونم از راهنمایی تون.

اگه میشه این روش که گفتی بیشتر توضیح بده. StiText چیه؟

یا از روش وریبل توضیح بده.

کدوم روش بهتره؟

hamid_hr
چهارشنبه 18 بهمن 1391, 14:31 عصر
stiReport1[VariableName] = value

Fastdesign
چهارشنبه 18 بهمن 1391, 16:41 عصر
من روش پست شماره 4 را رفتم ولی به جواب نرسیدم.
روش کار : ابتدا یک وریبل (به اسم ddate)در استیمول تعریف کردم .بعد یک Text (کادر متن) در گزارشم قرار دادم، سپس متغیر ساخته شده را به کادرمتن اختصاص دادم.
تو سی شارپ در باتن مربوطه کدهای زیر را نوشتم ولی جواب نمی ده :
stiReport1.Load("Report1.mrt");
stiReport1.RegData("ds1",ds);
stiReport1["ddate"] = label3.Text;
stiReport1.Show();


با تشکر

hamid_hr
چهارشنبه 18 بهمن 1391, 17:11 عصر
شما قبل از show بايد اول
stiReport1.Compile();
بعد
stiReport1.Render();
بعد show رو اجرا كنيد

Fastdesign
چهارشنبه 18 بهمن 1391, 19:05 عصر
دوست عزیز بازهم جواب نمیده !


به نظر شما مشکل از کجاست ؟

Fastdesign
جمعه 20 بهمن 1391, 20:33 عصر
دوستان می خوام یک مقدار را از TextBox که در فرم قرار داره رو به گزارشم ارسال کنم . دوستان راهنمایی کنید.


متشکرم

sasan_22
جمعه 20 بهمن 1391, 20:45 عصر
منم به نوعی همین مشکل رو دارم
توی فرم جستجوم بعد از جستجو میخوام نتیجه جستجو که توی دیتاگرید ریخته شده رو با دبل کلیک کردن روی اون به شکل ریپورت نمایش بدم
نمی دونم توی رویداد دبل کلیک چی بنویسم ؟؟

ممنون

fakhravari
جمعه 20 بهمن 1391, 22:04 عصر
using Stimulsoft.Report;
using Stimulsoft.Report.Components;


StiReport r = new StiReport();
r.Load("Report.mrt");
StiText tx = (r.Pages["Page1"].Components["Text1"] as StiText);
tx.Text = textBox1.Text;
r.Render(false);
r.Show();

در کل وریبل پیشنهاد میکنم

Fastdesign
شنبه 21 بهمن 1391, 10:14 صبح
ممنونم از راهنمایی شما

دوست عزیز اگه میشه روش وریبل رو هم توضیح بدید.

با تشکر

aryadad
شنبه 21 بهمن 1391, 10:38 صبح
از Session یا Stat هم می توانید استفاده کنید

fakhravari
یک شنبه 22 بهمن 1391, 14:20 عصر
از Session یا Stat هم می توانید استفاده کنید
خدایش این چی گفتی!

Fastdesign
جمعه 27 بهمن 1391, 20:26 عصر
StiReport r = new StiReport();
r.Load("Report.mrt");
StiText tx = (r.Pages["Page1"].Components["Text1"] as StiText);
tx.Text = textBox1.Text;
r.Render(false);
r.Show();


من می خوام از فرم یک مقدار به یک کنترل Text که در GroupHeaderBand قرار داره ارسال کنم، ولی خطا میگره که که این کنترل وجود نداره !
در صورتی که کنترل بر روی GroupHeaderBand قرار نداشته باشه هیچ خطایی نمی گیره.

با تشکر

afshines
پنج شنبه 08 فروردین 1392, 11:11 صبح
باید تو استیمول یه متغییر تعریف کنی به اسم var_name. باید یک تکس قرار بدی وداخلش تایپ کنی {var_name}
حالا تو سورس

StiReport report = new StiReport();
report.Load(Environment.CurrentDirectory + "\\Data\\Reports\\report.mrt");

report.Dictionary.Variables["var_name"].Value = txtb.Text;

report.Render(false);
report.ShowWithRibbonGUI(this);