View Full Version : سوال: نمایش داده نشدن گزارش stimul سافت؟ هیچ اروری هم نمیده!!
r4hgozar
شنبه 27 اردیبهشت 1393, 10:48 صبح
سلام دوستان.
من می خوام گزارشم رو تو خود محیط برنامه نمایش بدم. یک stiViewerControl1 هم به صفحه اضافه کردم و از کد زیر هم استفاده می کنم.
اما نه اروری میده و نه چیزی نمایش میده!!!
string conectionString = @"data source=(LocalDB)\v11.0;attachdbfilename=|DataDirec tory|\TestdbWinform1.mdf;integrated security=True;connect timeout=30;MultipleActiveResultSets=True;";
stiReport.Dictionary.Databases.Add(new Stimulsoft.Report.Dictionary.StiSqlDatabase("conection",conectionString));
stiReport.Load(@"C:\Users\nabim\documents\visual studio 2013\Projects\WindowsFormsApplicationtest\WindowsF ormsApplicationtest\Report\ReportTblName.mrt");
stiViewerControl1.Report = stiReport;
arash_flag
شنبه 27 اردیبهشت 1393, 10:52 صبح
سلام دوست عزیز من هر وقت بخام از
stimul استفاده کنم یک component به نام sti report روی فرم قرار میدهم و بعد ی راست کلیک و بعد design
و به صورت ویزارد con میسازم طراحی رو انجان میدهم .
و بعد در پشت btn مینیویسم : stireport1.show();
روی پرینتر هم تست کردم جواب داده
موفق باشی
r4hgozar
شنبه 27 اردیبهشت 1393, 11:29 صبح
درسته.
اما شما وقتی از متد show استفاده می کنید فرم گزارش رو براتون باز می کنه.
در حالی که من می خوام در خود فرم نمایش داده بشه. یعنی در خود ابزار
stiViewerControl1 که در صفحم هست
arash_flag
شنبه 27 اردیبهشت 1393, 11:34 صبح
بله درسته - من این حالت رو کار نکردم .تا امشب سعی میکنم کار کنم -فعلا درگیر یاد گرفتن ارسال ایمیل یاهو هستم.
اما برای ی برنامه من ی btn برا پیش نمایش گذاشتم و همین کار رو کردم و برای چاپ هم از متد print استفاده کردم
:d
r4hgozar
شنبه 27 اردیبهشت 1393, 13:36 عصر
کسی نیست جواب بده؟!!!!
khokhan
شنبه 27 اردیبهشت 1393, 16:44 عصر
کسی نیست جواب بده؟!!!!
.................................................. ...................
if (ds.Tables[0].Rows.Count > 0)
{
Stimulsoft.Report.StiReport stiReport1 = new Stimulsoft.Report.StiReport();
stiReport1.Load(System.Windows.Forms.Application.S tartupPath + @"\Report.mrt");
stiReport1.RegData(ds.Tables[0]);
//stiReport1.Design();
//stiReport1.Show();
stiReport1.Render(false);
this.stiViewerControl1.Report = stiReport1;
this.stiViewerControl1.Refresh();
}
r4hgozar
شنبه 27 اردیبهشت 1393, 19:38 عصر
ممنو اقا کوهان.
اما من وقتی از این کد استفاده می کنم یه صفحه گزارش تو فرم برام میاد اما هیچ مقداری توش نیست. خالی خالی و سفید.
واقعا موندم دیگه باید چی کار کنم.
این رو هم بگم که من گزارشم رو تو استیمول سافت بطور کامل ساختم، مثل اتصال به دیتابیس و آوردن مقادیر، فقط می خوام اینجا ازشون استفاده کنم.
خواهشا یکی کمک کنه/
aghayex
یک شنبه 28 اردیبهشت 1393, 07:49 صبح
برادر یه سمپل بزار تا دوستان کمکت کنن دورادور نمیشه
r4hgozar
یک شنبه 28 اردیبهشت 1393, 08:11 صبح
سلام.
با کمکی که آقای کوهکن کرد مشکل نشون دادن گزارش ساده حل شد.
اما اگه گزارشم مقدار بخواد بگیره دچار مشکل میشم.
این هم کدی که استفاده می کنم.
stiReport.Load(@"Report\ReportTblName.mrt");
stiReport.Dictionary.Variables["name"].Value = txt_name.Text;
stiReport.Render(false);
this.stiViewerControl1.Report = stiReport;
this.stiViewerControl1.Refresh();
این هم ارور
http://7uplod.ir/images/y55muhnznmebu4sfbmd0.png
r4hgozar
یک شنبه 28 اردیبهشت 1393, 10:29 صبح
خواهشا یک مثال واسه این هم برنین که چجوری باید از یک گزارش که مقدار میگیره استفاده کنم
r4hgozar
یک شنبه 28 اردیبهشت 1393, 14:50 عصر
یکی کمک کنه
khokhan
یک شنبه 28 اردیبهشت 1393, 16:37 عصر
یکی کمک کنه
با سلام
بهترین کار اینه که پارامتر ها رو به شیوه دینامیک توی برنامه ایجاد کنی بعد هنگام اجرا ابتدا وارد محیط دیزاین بشین و متغیر ها رو در محل های مورد نظرتون قرار بدین
در دفعات بعد تکه کد مربوط به ورود در محیط دیزاین رو کامنت کنین
به این شکل :
if (ds.Tables[0].Rows.Count > 0)
{
Stimulsoft.Report.StiReport stiReport1 = new Stimulsoft.Report.StiReport();
stiReport1.Load(System.Windows.Forms.Application.S tartupPath + @"\Report.mrt");
stiReport1.RegData(ds.Tables[0]);
//
Stimulsoft.Report.Dictionary.StiVariable parameter = new Stimulsoft.Report.Dictionary.StiVariable("PersonalCode", typeof(string));
parameter.Value = comboBox1.Text.ToString();
stiReport1.Dictionary.Variables["PersonalCode"] = parameter;
//
Stimulsoft.Report.Dictionary.StiVariable parameter2 = new Stimulsoft.Report.Dictionary.StiVariable("today", typeof(string));
parameter2.Value = label3.Text.ToString();
stiReport1.Dictionary.Variables["today"] = parameter2;
stiReport1.Render();
//stiReport1.Design();
//stiReport1.Show();
stiReport1.Render(false);
fr.stiViewerControl1.Report = stiReport1;
fr.stiViewerControl1.Refresh();
fr.ShowDialog();
}
r4hgozar
سه شنبه 30 اردیبهشت 1393, 07:48 صبح
اقای
khokhan (http://barnamenevis.org/member.php?131732-khokhan)
ممنون واقعا از راهنمایی های شما.
من با استفاده از راهنمایی های شما کدم رو به صورت زیر تغییر دادم. و تونستم به نتیجه برسم.
کد رو می زارم اینجا با بقیه دوستان هم استفاده کنن
string cn= @"data source=(LocalDB)\v11.0;attachdbfilename=|DataDirec tory|\TestdbWinform1.mdf;integrated security=True;connect timeout=30;MultipleActiveResultSets=True;";
stiReport.Load(@"Report\Report.mrt");
stiReport.Dictionary.Databases.Add(new Stimulsoft.Report.Dictionary.StiSqlDatabase("conection", cn));
stiReport.Dictionary.Variables["name"].Value = txt_name.Text;
stiReport.Render(false);
this.stiViewerControl1.Report = stiReport;
this.stiViewerControl1.Refresh();
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.