View Full Version : سوال: نحوه اتصال دیتا ست به کامپوننت استیمول ریپورت؟
hamed_hossani
یک شنبه 10 اردیبهشت 1391, 18:37 عصر
سلام
من می خام یک کوری که خوردم بر اساس چک باکس هایی که کاربر انتخاب می کنه!
رو تو یک دیتاست فیل کنم و بدم به استیمول که بهم نشون بده!
چند روزه هر چی می گردم چیزی پیدا نمی کنم!
ابنم هم کدم است
string query = "select * from mdd where shParvande='2155' ";
SqlConnection connection = new SqlConnection(db.ConnectionString);
SqlDataAdapter sqlDataAdapter = new SqlDataAdapter();
SqlCommand sqlCommand = new SqlCommand();
DataSet dataSet = new DataSet();
sqlCommand.Connection = connection;
sqlCommand.CommandText = query;
sqlDataAdapter.SelectCommand = sqlCommand;
connection.Open();
sqlCommand.ExecuteNonQuery();
sqlDataAdapter.Fill(dataSet, "mdd");
dataSet.Tables[0].TableName = "mdd";
connection.Close();
Stimulsoft.Report.StiReport stiReport = new Stimulsoft.Report.StiReport();
stiReport.Load("stiReport12.mrt");
stiReport.RegData("mdd",dataSet);
stiReport.Show();
stiViewerControl1.Report = stiReport1;
alonemm
دوشنبه 11 اردیبهشت 1391, 13:44 عصر
باسلام:
دوست گرامی:
شما باید در فایل گزارشتون هم دیتاست مربوطه رو بسازید و نام فیلدها و نوع آن هارو داخل برنامه ست کنید. (New DataSource)
برای نمایش هم از کنترل Data استفاده کنید و این کنترل رو به دیتاست مربوطه اتصال بدید و برای نمایش داده ها از کنترل TextBox درون Data استفاده کنید.
موفق باشید.
hamed_hossani
دوشنبه 11 اردیبهشت 1391, 22:55 عصر
ممنون از توجه شما!
این قسمت کدی است که نوشتم
http://up98.org/upload/server1/02/i/580bsx2fxpzoz0j6w7e.gif
این هم قسمت دیزان گزارش
http://up98.org/upload/server1/02/i/tufibcdehtvsdqsoozd4.gif
وقتی ران میزنم ، صفحه سفید هم نمی اید، فقط stiViewerControl1 نشان داده می شود و داده ای در کار نیست
مشکل کجاست؟
کجای کار اشتباست
alonemm
سه شنبه 12 اردیبهشت 1391, 11:32 صبح
باسلام:
شما وقتی در قسمت گزارش گیری با StimulSoftReports هستنید 2 حالت دارید:
1- به منبع داده وصل بشید یعنی کانکشن رو تعریف کنید و بعد یک منبع داده و کوئری مورد نظر رو تایپ کنید و سپس به طراحی قسمت تکس باکس ها و ... بپردازید.
در این حالت شما میتونید برای ارسال پارامترها به کوئری مورد نظرتون از Variable ها استفاده کنید و از سمت کد مقدار این رو پر کنید و به سمت گزارش بفرستید.
مثل شما میخواید یک گزارش در یک بازه تاریخ داشته باشید که کاربر تاریخ رو مشخص میکنه به شکل زیر عمل میکنید:
rpt.Dictionary.Variables["From_Date"].Value = start.ToString("yyyy/MM/dd");
rpt.Dictionary.Variables["To_Date"].Value = end.ToString("yyyy/MM/dd");
2- در این حالت شما هیچ رشته اتصالی ندارید و فقط یک منبع داده رو طراحی میکنید با ستون ها مربوطه و نوع آن و شروع به طراحی تکس باکس ها و ... میکنید.
در این حالت شما باید از طریق کد منبع داده مورد نظر رو ساخته و به سمت گزارش بفرستید.
در مثال زیر منبع داده من یک SQLDataSource میباشد که به سمت گزارش میفرستم:
Stimulsoft.Report.StiReport rpt = new Stimulsoft.Report.StiReport();
rpt.Load(Server.MapPath("myreport.mrt"));
DataView view = (DataView) SqlDataSource1.Select(DataSourceSelectArguments.Em pty);
DataTable table = view.ToTable();
rpt.RegData("DataS", table );
StiWebViewer1.Report = rpt;
باتوجه به گزینه های بالا پروژه خودتون رو تغییر بدید.
موفق باشید.
hamed_hossani
پنج شنبه 14 اردیبهشت 1391, 00:21 صبح
2- در این حالت شما هیچ رشته اتصالی ندارید و فقط یک منبع داده رو طراحی میکنید با ستون ها مربوطه و نوع آن و شروع به طراحی تکس باکس ها و ... میکنید.
در این حالت شما باید از طریق کد منبع داده مورد نظر رو ساخته و به سمت گزارش بفرستید.
در مثال زیر منبع داده من یک SQLDataSource میباشد که به سمت گزارش میفرستم:
Stimulsoft.Report.StiReport rpt = new Stimulsoft.Report.StiReport();
rpt.Load(Server.MapPath("myreport.mrt"));
DataView view = (DataView) SqlDataSource1.Select(DataSourceSelectArguments.Em pty);
DataTable table = view.ToTable();
rpt.RegData("DataS", table );
StiWebViewer1.Report = rpt;
باتوجه به گزینه های بالا پروژه خودتون رو تغییر بدید.
.
با سپاس
من می خام از SqlDataSource1 استفاده کنم
ولی این شی مربوط میشه به asp و من دارم c# می نویسم
اینه که منو با مشکل روبرو کردم
راه من راه دوم است
؟
hamed_hossani
یک شنبه 17 اردیبهشت 1391, 13:05 عصر
سلام
من ابتدا این کد رو نوشتم
http://up98.org/upload/server1/02/i/rtwem6ed322mhkivw9nx.gif
که به طور پیش فرض داده ها رو از جدول میگیره ، یعنی rpt.RegData جواب نمیده
http://up98.org/upload/server1/02/i/8wh94dsmwtk85kkqy0n.gif
بعد این کد رو نوشتم
rpt.Dictionary.DataSources.Clear();
را از کامنت در اوردم
http://up98.org/upload/server1/02/i/5oliduwl31szleonnjzf.gif
کوری که نوشتم
SELECT fname,lname,fathername,markazTB.name from mdd inner join markazTB on markazTB.code = mdd.codeMarkaz
where shparvande='000000001'
رو برام اجرا می کنه و چهار تا ستون برام بر می گردونه
http://up98.org/upload/server1/02/i/p4wp5ga4n88ypqog3w0.gif
ولی به stiViewer اعمالش نمی کنه !
چه کدی باید بنویسم؟
با تشکر
alonemm
یک شنبه 17 اردیبهشت 1391, 13:17 عصر
باسلام:
لطفا پست رو در تالار مربوطه مطرح کنید این تالار مربوط به کار با ابزار گزارش گیری نمیباشد.
به لینک زیر مراجعه کنید در پست #821 توضیحاتی دادم درمورد نحوهای وصل شدن و استفاده از پایگاه داده در گزارش:
http://barnamenevis.org/showthread.php?117526-%D8%B3%D9%88%D8%A7%D9%84%D8%A7%D8%AA-%D9%85%D8%B1%D8%A8%D9%88%D8%B7-%D8%A8%D9%87-StimulReport-%D8%B1%D9%88-%D8%AF%D8%B1-%D8%A7%DB%8C%D9%86-%D8%AA%D8%A7%D9%BE%DB%8C%DA%A9-%D9%85%D8%B7%D8%B1%D8%AD-%DA%A9%D9%86%DB%8C%D8%AF/page83
hamed_hossani
یک شنبه 17 اردیبهشت 1391, 13:36 عصر
یه دوهفته ای است که منو در گیر کرده دارم با وِزوال 2010 و اسکیو ال 2008 ار2 مینویسم
که با کریستال ریپورت مشکل داره
فکر کنم پروژمو ببرم به ویژوال 2008.
fakhravari
شنبه 23 اردیبهشت 1391, 22:33 عصر
من با upgrad کردن ویندوز کریستالدرست شده
hamed_hossani
یک شنبه 24 اردیبهشت 1391, 14:04 عصر
upgrade مگر به معنای افزایش ورژن نیست
چه جوری؟
نمیشه کریستال 2008 رو ویژوال 2010 نصب کرد؟
hamed_hossani
شنبه 24 اسفند 1392, 17:23 عصر
http://barnamenevis.org/showthread.php?445039-%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C-%DA%A9%D9%88%D8%B1%DB%8C-query-%D8%AC%D8%AF%D9%88%D9%84-%D8%AF%D9%84%D8%AE%D9%88%D8%A7%D9%87-%D9%88-%D9%81%D8%B1%D8%B3%D8%AA%D8%A7%D9%86-%D8%A7%D9%86-%D8%A8%D8%B1%D8%A7%DB%8C-%D9%86%D9%85%D8%A7%DB%8C%D8%B4-%D8%AF%D8%B1-stimul-report&p=1990272#post1990272
اجرای کوری query دلخواه و فرستان ان برای نمایش در stimul report [stimulsoft]
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.