PDA

View Full Version : مشکل با کد نویسی Stimulreport



fdaliry
چهارشنبه 02 تیر 1389, 15:59 عصر
سلام
من کد زیر را برای گزارش گیری پویا نوشتم
اما با اجرای اون صفحه خالی Stimulsoft نمایش داده میشه
ممنون میشم ایرادشا بگید




DataSet Data = new DataSet();
d = "select * from risiver";
adap = new OleDbDataAdapter(d,con);
adap.Fill(Data, "risiver");
StiReport Report = new StiReport();
Report.RegData(Data);
Report.Show();

bashiry
جمعه 04 تیر 1389, 11:37 صبح
سلام
اینجا برات توضیح دادم عزیز



http://www.barnamenevis.org/forum/showpost.php?p=1023768&postcount=2

fdaliry
جمعه 04 تیر 1389, 19:21 عصر
سلام
اینجا برات توضیح دادم عزیز



http://www.barnamenevis.org/forum/showpost.php?p=1023768&postcount=2


ممنونم دوست عزیز
ولی دو تا مشکل
اول اینکه به زبون ویژوال بیسیکه
دوم اینکه یک کمی پیچیدس

من فقط اون قسمتی را میخام که نتیجه کوئری را تو گزارش نشون میده
ممنون میشم کمکم کنید

bashiry
جمعه 04 تیر 1389, 22:34 عصر
ببین شما توی دیزانر دقیقا یدونه DataTable بساز مشابه با اون دیتاتیبل که از کوئری بدست میاد. بعدش با کدی که گذاشتم ارتباطه برقرار میشه و شما راحت توی محیط دیزاینر میتونید فیلدها تون رو قرار بدید

fdaliry
یک شنبه 06 تیر 1389, 15:51 عصر
ببین شما توی دیزانر دقیقا یدونه DataTable بساز مشابه با اون دیتاتیبل که از کوئری بدست میاد. بعدش با کدی که گذاشتم ارتباطه برقرار میشه و شما راحت توی محیط دیزاینر میتونید فیلدها تون رو قرار بدید

ممنونم دوست عزیز
من این کارا کردم
گزارش کلی را نشون میده اما نتیجه کوئری را اعمال نمیکنه
نمیدونم مشکل کجاست

fdaliry
سه شنبه 08 تیر 1389, 13:16 عصر
سلام
مراحل انجام کار را میگم شاید به حل مشکل کمکی کنه


هدف:
جستجو کردن در دیتا بیس و نمایش اطلاعات حاصل از جستجو در StimulReport جهت چاپ

مشکل:
نمایش اطلاعات کامل یک تی بل و عدم اعمال جستجو(نتایج جستجو در Stimulreportاعمال نمیشه)

مراحل کاری من:
1- از تول باکس یک Stireport انتخاب کردم و به محیط دیزاینش رفتم و یک گزارش کامل از تی بل ایجاد کردم و اونا در پوشه دیباگ با نام S2 ذخیره کردم

2- به محیط ویژوال استدیو برگشتم و کد زیر را برای ارتباط و جستجو در دیتا بیس نوشتم(تا اینجا مشکلی نیست چون اطلاعات جستجو شده را به راحتی میتونم در گرید ویو نمایش بدم)


DataSet Data = new DataSet();
d = "select * from dat WHERE arch='0062'";
adap = new OleDbDataAdapter(d,con);
adap.Fill(Data, "dat");


3- برای نمایش اطلاعات حاصل از جستجو شده کد زیر را نوشتم




StiReport s3 = new StiReport();
s3.Load("s2.mrt");
DataTable dt = new DataTable();
adap.Fill(dt);
s3.Dictionary.DataSources.Items[0].DataTable = dt;
s3.RegData(Data);
stiViewerControl1.Report = s3;


ولی اطلاعات کامل تی بل نمایش داده میشه و نتیجه جستجو در نمایش گزارش StimulReport اعمال نمیشه:ناراحت:

ممنون میشم اگه کمکم کنید بدونم اشکال کار کجاست

iman_22a
سه شنبه 08 تیر 1389, 17:33 عصر
s3.RegData("نام دیتاسورسی که توی محیط دیزاین ساختین", dt)
s3.Load("s2.mrt")
StiPreviewControl1.Report = s3
s3.Render(False)
StiPreviewControl1.Show()

در ضمن مطمئنی نتیجه کوئری خالی بر نمیگرده ؟!

atryass
چهارشنبه 09 تیر 1389, 18:32 عصر
سلام بعد از همه كارهايي كه انجام دادي يعني ديتا ست رو fill كردي و regData رو هم انجام دادي يه sync هم بكن داده هات رو تا مشكلت حل بشه دليل اينكه همه اطلاعات رو نشون ميده اينه كه مستقيما داره از ديتا بيست داده ها رو مي خونه نه از ديتا ستي كه بهش دادي.
اگه اين متد sync‌ رو اجرا كني مشكل حله.(اسم كامل متد syncronise فكر مي كنم.)
ضمن اينكه قبلش هم مي توني از دستور هاي زير رو اجرا كني كه ديگه از ديتا بيس نخونه


rpt.Dictionary.DataBases.Clear();
rpt.Dictionary.DataSource.Clear();

fdaliry
پنج شنبه 10 تیر 1389, 22:35 عصر
ممنونم از دوستان
ی راه دیگه پیدا کردم که آسونتره
اونا اینجا میذارم شاید به کار اومد

شما ابتدا محیط Design کامپوننت Stimul رو از محل نصبش اجرا کنید و یه گزارش خالی به نام Report1 در پوشه bin برنامتون با پسوند mrt ذخیره کنید
حالا کدهایی که توی مرحله 2 نوشتید رو عیناً می نویسید
و کدهای مرحله 3 رو اول به شکل زیر تغییر می دید


StiReport report = new StiReport();
report.RegData(Data);
report.Load("Report1.mrt");
report.Design();



حالا برنامتون رو یه بار اجرا می کنید و دکمه گزارش رو می زنید بعد از این کار محیط Design کامپوننت Stimul باز میشه شما در قسمت سمت راست تب Dictionary رو انتخاب می کنید و در قسمت Data Sources دیتاستی که به گزارش ارسال کردین رو می بینید
حالا دو راه دارین
1- کل جدولی که در دیتاست هست رو روی صفحه بکشید که به صورت ستونی اطلاعاتون رو مثل یه جدول براتون نمایش میده
2- فیلد های داخل جدول موجود در دیتاست رو تک تک رو صفحه بکشید که فقط اطلاعات مربوط به یه سطر جدول رو بهتون نمایش میده

بعد از اینکه صفحه گزارش رو چیدید محیط Stimul رو یک بار ذخیره کنید و اون رو ببندین و به محیط VS برگردین و به جای خط آخر کد در مرحله 3 این کد رو بنویسید



report.Show();