PDA

View Full Version : آموزش: آموزش گزارشگیری با Stimulsoft



sehm67
چهارشنبه 02 بهمن 1392, 15:55 عصر
سلام دوستان

جستجو رو هم انجام دادم.

دوستان هر کس تجربه کار با Stimulsoft Reports.Ultimate 2012.1 رو داره دریغ نکنه.

یه خورده باهاش کار کردم به پروژه ام اضافه کردم اما موقع ای که اطلاعات جدول و فیلتر میکنم

تمامی اطلاعات جدول و نمایش میده.



Dim DataSet As New DataSet
Dim da1 As New SqlDataAdapter("select * from Table_1 where code = '" & TextBox1.Text & "'", con)
Dim dt1 As New DataTable("Table_1")
da1.Fill(dt1)
DataSet.Tables.Add(dt1)
StiReport2.RegData(DataSet)
StiReport2.CacheAllData = True
StiReport2.Dictionary.Synchronize()
StiReport2.Show()



اشکال کار من کجاست؟؟؟

دوستانی که با استیمول کار کردن لطفا از ابتدا راهنمایی کنن شاید ما راه رو اشتباهی رفتیم

sehm67
چهارشنبه 02 بهمن 1392, 16:39 عصر
آموزش Stimul Soft

یعنی تا اونجایی که خودم متوجه شدم برا دوستان قرار میدم


آموزش تصویری ( عکس )


کد برنامه :



Imports System.Data.SqlClient

Public Class Form1
Dim str As String = "Data Source=.;Initial Catalog=testreport;Integrated Security=True"
Dim con As New SqlConnection(str)

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim DataSet As New DataSet
Dim da1 As New SqlDataAdapter("select * from Table_1 where code Like '%" & TextBox1.Text & "%'", con)
Dim dt1 As New DataTable("Table_1")
da1.Fill(dt1)
DataSet.Tables.Add(dt1)
StiReport1.Compile()
StiReport1.RegData(DataSet)
StiReport1.Render()
StiReport1.Show()
End Sub
End Class

Mani_rf
چهارشنبه 02 بهمن 1392, 17:06 عصر
سلام دوستان

جستجو رو هم انجام دادم.

دوستان هر کس تجربه کار با Stimulsoft Reports.Ultimate 2012.1 رو داره دریغ نکنه.

یه خورده باهاش کار کردم به پروژه ام اضافه کردم اما موقع ای که اطلاعات جدول و فیلتر میکنم

تمامی اطلاعات جدول و نمایش میده.



Dim DataSet As New DataSet
Dim da1 As New SqlDataAdapter("select * from Table_1 where code = '" & TextBox1.Text & "'", con)
Dim dt1 As New DataTable("Table_1")
da1.Fill(dt1)
DataSet.Tables.Add(dt1)
StiReport2.RegData(DataSet)
StiReport2.CacheAllData = True
StiReport2.Dictionary.Synchronize()
StiReport2.Show()



اشکال کار من کجاست؟؟؟

دوستانی که با استیمول کار کردن لطفا از ابتدا راهنمایی کنن شاید ما راه رو اشتباهی رفتیم

شما اومدی توی گزارش کانکشن تعریف کردی و دیتاست و بعد فیلد ها رو به دیتاست درون گزارش وصل کردی، این یعنی که گزارش وقتی که ساخته مشه مستقیما میره تو دیتابیس سلکت میزنه و اطلاعات رو نمایش میده.
حالا شما اومدی توی یک داری یک سلکت با فیلتر میزنی و بعد دیتاست رو میفرستی به گزارش! خب واضحه دیتاستی که شما داری میفرستی به گزارش به هیچ جا وصل نمیشه و اصلا برنامه سراغ اون نمیره، داری کانکشن تعریف می کنی به استیمول میگی که خودش سلکت بزنه.
شما یا باید توی گزارش کانکشن و دیتاست تعریف کنی و از طریق برنامه فقط شرط رو برای فیلتر کردن بفرستی ، یا این که کلا توی گزارش یک دیتاست تعریف کنی و از توی برنامه به اون دیتاست دیتا بفرستی.
پیشنهاد من اینه که شما اول یکی از این دوتا روش رو انتخاب کن و بعد دموی استیمول رو نگاه کن تا کاملا بهت آموزش بده که چکار باید بکنی.

sehm67
چهارشنبه 02 بهمن 1392, 17:19 عصر
شما اومدی توی گزارش کانکشن تعریف کردی و دیتاست و بعد فیلد ها رو به دیتاست درون گزارش وصل کردی، این یعنی که گزارش وقتی که ساخته مشه مستقیما میره تو دیتابیس سلکت میزنه و اطلاعات رو نمایش میده.
حالا شما اومدی توی یک داری یک سلکت با فیلتر میزنی و بعد دیتاست رو میفرستی به گزارش! خب واضحه دیتاستی که شما داری میفرستی به گزارش به هیچ جا وصل نمیشه و اصلا برنامه سراغ اون نمیره، داری کانکشن تعریف می کنی به استیمول میگی که خودش سلکت بزنه.
شما یا باید توی گزارش کانکشن و دیتاست تعریف کنی و از طریق برنامه فقط شرط رو برای فیلتر کردن بفرستی ، یا این که کلا توی گزارش یک دیتاست تعریف کنی و از توی برنامه به اون دیتاست دیتا بفرستی.
پیشنهاد من اینه که شما اول یکی از این دوتا روش رو انتخاب کن و بعد دموی استیمول رو نگاه کن تا کاملا بهت آموزش بده که چکار باید بکنی.
سلام

تشکر از نگاهتون

من تازه با استیمول کارو شروع کردم

تو پست ها جواب درست و حسابی نبود همه فقط نظر میدادن

دوستان کسی روشی ، نمونه کدی ، فایل راهنمایی داره از ابتدا مراحل کارو آموزش بده

من از دیروز تا حالا دارم میگردم ب نتیجه مطلوبی نرسیدم.

آخه کارم گیره پروژه ام به گزارش رسیده و نمیخام از کریستال ربپورت استفاده کنم

چند روز بیشتر فرصت ندارم دوستان لطفا کمک کنید

شاید هم مجبور بشم از کریستال ریپورت استفاده کنم ...

Mani_rf
چهارشنبه 02 بهمن 1392, 18:17 عصر
دوست عزیز به همراه استیمول یک برنامه با نام Demo نصب میشه که از همه توانایی های استیمول یک مثال کامل گذاشته . یک نگاه به اون بندازی تو کمتر از یک ساعت نصف بیشتر استیمول رو یاد میگیری.
فقط کافیه Demo.exe رو باز کنی و یک دوری توش بزنی

niknam_mh
چهارشنبه 02 بهمن 1392, 19:06 عصر
سلام دوست خوبم
شما ابتدا يه متغير ميسازي مثلا myconection
بعد ان را با دستور select فيلتر مي کني به تصويرها توجه کن:

115764

115766

115765

sehm67
چهارشنبه 02 بهمن 1392, 21:54 عصر
سلام

تشکر از niknam_mh (http://barnamenevis.org/member.php?185740-niknam_mh) و Mani_rf (http://barnamenevis.org/member.php?81144-Mani_rf)

آیا روش دیگه که با دستورات مستقیم sql بتونیم اطلاعات و به گزارش بفرستیم هست؟؟؟؟؟

جناب niknam_mh (http://barnamenevis.org/member.php?185740-niknam_mh) اگه روش های دیگه دارید لطفا دریغ نفرمایید

آموزشی هم باشه برای سایرین

با تشکر

niknam_mh
پنج شنبه 03 بهمن 1392, 07:53 صبح
سلام

تشکر از niknam_mh (http://barnamenevis.org/member.php?185740-niknam_mh) و Mani_rf (http://barnamenevis.org/member.php?81144-Mani_rf)

آیا روش دیگه که با دستورات مستقیم sql بتونیم اطلاعات و به گزارش بفرستیم هست؟؟؟؟؟

جناب niknam_mh (http://barnamenevis.org/member.php?185740-niknam_mh) اگه روش های دیگه دارید لطفا دریغ نفرمایید

آموزشی هم باشه برای سایرین

با تشکر

دوست خوبم منظورت رو از سوال بالا متوجه نشدم لطفا بيشتر توضيح بديد .

sehm67
پنج شنبه 03 بهمن 1392, 11:06 صبح
دوست خوبم منظورت رو از سوال بالا متوجه نشدم لطفا بيشتر توضيح بديد . مثل کریستال ریپورت

یعنی از داخل برنامه کانکشن استرینگ و فیلتر کردن اطلاعات و ارسال پارامتر و گزارش گیری

مثالی ک شما زدید فقط فیلتر کردن اطلاعات بود

حالا اگه من این برنامه رو تو سیستم مشتری اجرا کنم آیا کانکشن استرینگی ک من داخل برنامه تعریف کردم و میگیره

یا نه ؟؟؟؟؟؟؟؟

sehm67
پنج شنبه 03 بهمن 1392, 13:12 عصر
دوستان پست شماره دو ویرایش شد

آموزش stimul soft تا جایی که یاد گرفتم در اختیار دوستان قرار میدم.

موفق و موید باشید.

sehm67
پنج شنبه 03 بهمن 1392, 16:10 عصر
سلام

روش دیگه هم برای ارسال گزارش در پست زیر گذاشتم

اینجا (http://barnamenevis.org/showthread.php?433453-%D9%85%D8%B4%DA%A9%D9%84-%D8%AF%D8%B1-%D9%86%D9%85%D8%A7%DB%8C%D8%B4-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA-%D8%A7%D8%B1%D8%B3%D8%A7%D9%84-%D8%B4%D8%AF%D9%87-%D8%A8%D9%87-%D8%A7%D8%B3%D8%AA%DB%8C%D9%85%D9%88%D9%84&p=1960198&viewfull=1#post1960198)

sehm67
پنج شنبه 03 بهمن 1392, 19:17 عصر
سلام

بایستی اصلاحی در نوشته هام داشته باشم

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

اصلاح پست در این آدرس (http://barnamenevis.org/showthread.php?433453-%D9%85%D8%B4%DA%A9%D9%84-%D8%AF%D8%B1-%D9%86%D9%85%D8%A7%DB%8C%D8%B4-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA-%D8%A7%D8%B1%D8%B3%D8%A7%D9%84-%D8%B4%D8%AF%D9%87-%D8%A8%D9%87-%D8%A7%D8%B3%D8%AA%DB%8C%D9%85%D9%88%D9%84&p=1960198&viewfull=1#post1960198)

1- از نوار ابزار StiReport رو به فرم اضافه کن

2- گزینه Design Report ( بر روی StiReport که اضافه شده کلیک راست نمایید)

3 - در محیط دیزاین سمت چپ Dictionry یک New Data connection اضافه نمایید

از پنجره باز شده گزینه sql connection رو انتخاب کرده

**** در محیط باز شده Name یک نام وارد کرده نام پیش فرض Connection ( در محیط کد نویسی لازم است) بعد فقط OK نمایید

بعد در قسمت چپ بر روی Data Sources + زیرشاخه را باز نمایید و بر روی Connection sql connection کلیک راست

و گزینه New Data source را انتخاب از صفحه باز شده ، کانکشنی که ایجاد کرده بودیم (Connection ) را انتخاب و OK

در صفحه باز شده از قسمت بالا New Query را انتخاب نمایید

در صفحه باز شده Name in source کانکشنی که ایجاد کرده بودیم وارد شده .

در تکست دوم Name نام جدول موجود در دیتابیس ( جدول1 , جدول2 و ... )

در قسمت Columns نام فیلد جدول مورد نظر را وارد نمایید ( بسته به فیلد های جدول مورد نظر)

در قسمت Query Text به صورت زیر اقدام نمایید :

به طور مثال جدول (Table_1) فیلد ها ( code , name )



select * from Table_1{Var2}



4- دکمه OK

5- در قسمت بر روی Variable کلید راست و New Variable را انتخاب و نام Var2 را تایپ و OK

6- جدول و یا جداولی که برای گزارش گیری لازم دارید رو به همان صورت بالا ایجاد نمایید

و بعد اتمام کار بر روی صفحه جدول و یا جداول مورد نظر را درگ نمایید

نکته Var2 همان دستوری است که فیلتر برروی آن انجام میشود (در محیط کد نویسی)

به طور مثال :

select * from Table_1 where code like '100'

where code like '100 همان Var2 میباشد.

پس از اتمام کار را بسته و وارد محیط کد نویسی شوید.




Dim ss As String = "Data Source=.\SQLEXPRESS;AttachDbFilename=D:\testreport .mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"
Dim con As New SqlConnection(ss)
StiReport1.Dictionary.Databases.Clear()
StiReport1.RegData("Connection", con)
StiReport1.Dictionary.Variables("Var2").Value = "where code like '%" & TextBox1.Text & "%' order by Group desc"
StiReport1.Compile()
StiReport1.ScriptUpdate()
StiReport1.Render()
StiReport1.Show()



**** در کد بالا Connection همان کدی است که قسمت طراحی بهش اشاره کردم

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

موفق و موید

systam
جمعه 18 بهمن 1392, 15:35 عصر
دوست عزیز سلام
ممنونم از آموزشی که گذاشتید ولی من یک مشکل برخوردم چطوری از sqlexpress در استیمول استفاده کنم

sehm67
جمعه 18 بهمن 1392, 16:53 عصر
دوست عزیز سلام
ممنونم از آموزشی که گذاشتید ولی من یک مشکل برخوردم چطوری از sqlexpress در استیمول استفاده کنم

سلام

اگه شما پست 12 رو دقت کنید میبینید که کانکشن استرینگ از محیط کد نویسی برنامه اجرا میشه

پس بنابراین شما جدول و یا جداول و فیلد های مربوط را در محیط استیمول تعریف نمایید ( کانکشن استرینگ در محیط استیمول براش تعریف نکنید )

کانکشن استرینگ را از محیط کد نویسی به گزارش پاس بدید.

در ضمن بدقت پست 12 را اجرا نمایید.

systam
جمعه 18 بهمن 1392, 17:10 عصر
سلام
پس احتیاجی نیست که به کمک sqlexpress جدول ها در خود نرم افزار استیمول به برنامه معرفی کنیم
فقط باید جدول ها با مشخصاتی که در بانک دارند در استیمول ایجاد کرد

sehm67
جمعه 18 بهمن 1392, 17:18 عصر
سلام
پس احتیاجی نیست که به کمک sqlexpress جدول ها در خود نرم افزار استیمول به برنامه معرفی کنیم
فقط باید جدول ها با مشخصاتی که در بانک دارند در استیمول ایجاد کرد

بله درسته

یعنی ما با این کار در استیمول یه فرم خام ایجاد میکنیم و در محیط برنامه جاهای خالی را بوسیله داده هایمان پر میکنیم.

vb341
شنبه 19 بهمن 1392, 00:08 صبح
من از روش زیر استفاده میکنم و جواب هم میگیریم . شما میتونی در محیط دیزاین دیتاست کوئری مورد نظر رو طراحی کنی و بعد از دستور fill مربوطه استاده کنی


Me.PersonelReportTableAdapter.Fill(Me.Cont_Afsar_M aliDataSet1.PersonelReport)
StiReport1.RegData(Cont_Afsar_MaliDataSet1.Persone lReport)
StiReport1.Compile()
StiReport1.Show()
StiReport1.Render()

systam
شنبه 19 بهمن 1392, 21:50 عصر
سلام
من طبق گفته های شما پیش رفتم
گزارش نمیده

برنامه رو ضمیمه کردم (http://uplod.ir/5770vdpkgh10/sr.rar.htm)
ممنون میشم راهنماییم کنید

vb341
سه شنبه 22 بهمن 1392, 22:50 عصر
من از روش زیر استفاده میکنم و برای فیلتر کردن هم هیچ مشکلی ندارم . فقط از قبل کوئری رو در دیتاست طراحی میکنم



Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click
Me.Tbl_PersonelTableAdapter.FillByDateStart(Me.Del avaranVacationDataSet1.Tbl_Personel, TextBox2.Text)

StiReport1.RegData(DelavaranVacationDataSet1.Tbl_P ersonel)
StiReport1.Show()
StiReport1.Render()
End Sub

sehm67
چهارشنبه 23 بهمن 1392, 18:43 عصر
سلام
من طبق گفته های شما پیش رفتم
گزارش نمیده

برنامه رو ضمیمه کردم (http://uplod.ir/5770vdpkgh10/sr.rar.htm)
ممنون میشم راهنماییم کنید

سلام

ببینید مشکل بر طرف شد.

vb341
چهارشنبه 23 بهمن 1392, 21:21 عصر
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
Me.Tbl_PersonelTableAdapter.FillBymahalid(Me.Delav aranVacationDataSet1.Tbl_Personel, TextBox1.Text)

StiReport1.RegData(DelavaranVacationDataSet1.Tbl_P ersonel)
StiReport1.Show()
StiReport1.Render()
End Sub


من از این روش استفاده میکنم و هیچ مشکلی هم در فیلتر کردن ندارم

systam
چهارشنبه 23 بهمن 1392, 23:05 عصر
سلام
واقعا ممنونم جناب sehm67 داشتم کم کم به سمت کریستال ریپورت میرفتم
یه سوال برام پیش میاد ما در برنامه از دوتا جدول اطلاعات استخراج میکنیم
چطوری دربرنامه از اطلاعات دو جدول استفاده کنیم


ممنونم میشم راهنماییم کنید



یا علی

systam
جمعه 25 بهمن 1392, 22:59 عصر
دوستان مشکل حل شد در این پست (http://barnamenevis.org/showthread.php?437197-%D9%85%D8%B4%DA%A9%D9%84-%D8%AF%D8%B1-%D9%86%D9%85%D8%A7%DB%8C%D8%B4-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA-%D8%A7%D8%B1%D8%B3%D8%A7%D9%84-%D8%B4%D8%AF%D9%87-%D8%A8%D9%87-%D8%A7%D8%B3%D8%AA%DB%8C%D9%85%D9%88%D9%84)

مهدی د
شنبه 26 بهمن 1392, 20:33 عصر
سلام
یه سوال داشتم که در تایپیک زیر قبلاً مطرح شده ولی نتونستم جواب مناسب بگیرم. از دوستان اگه کسی می دونه ممنون می شیم راهنمایی کنه.


http://barnamenevis.org/showthread.php?413131-%D9%85%D8%B4%DA%A9%D9%84-%D8%AF%D8%B1-%D8%B3%D8%AA%D9%88%D9%86-%D9%85%D8%A7%D9%86%D8%AF%D9%87-%D8%AF%D8%B1-%DA%AF%D8%B2%D8%A7%D8%B1%D8%B4-stimul

sehm67
چهارشنبه 07 اسفند 1392, 11:58 صبح
سلام
واقعا ممنونم جناب sehm67 داشتم کم کم به سمت کریستال ریپورت میرفتم
یه سوال برام پیش میاد ما در برنامه از دوتا جدول اطلاعات استخراج میکنیم
چطوری دربرنامه از اطلاعات دو جدول استفاده کنیم


ممنونم میشم راهنماییم کنید



یا علی

سلام

شرمنده چن وقتی نبودم

همونطور که در آموزشم گذاشتم جداولی که میخایید رو ایجاد و در محیط گزارش قرار بدید.

شما انجام بدید اگه مشکلی بود برطرف میکنیم

hamed_hossani
شنبه 24 اسفند 1392, 17:22 عصر
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]

gilsoft
دوشنبه 14 اردیبهشت 1394, 13:38 عصر
سلام دوستان

چطور میتونم Page گزارشگیری رو RightToLeft سِت کنم ؟

(یعنی میخوام اولین ستون DataTable .. سمت راست گزارش نشون داده بشه)

ممنونم اگه یه راهنمایی بفرمائید .....

niknam_mh
دوشنبه 14 اردیبهشت 1394, 20:11 عصر
سلام داداش حمید
یه گزینه داره برا راست چین کردن تو قسمت تنظیمات صفحه ولی من معمولا سطرها رو خودم یکی یکی از راست به چپ می چینم من دوسال هست با این نرم افزار کار می کنم خیلی عالیه و همه جور گزارش ازش گرفتم و ازش راضی هستم سوالی بود در خدمتم.

چینی ساز
سه شنبه 23 شهریور 1395, 10:48 صبح
سلام من میخوام با Stimulsoft از بانک اکسس در vb.net گزارشگیری کنم ولی هر کاری می کنم در هنگام اتصال به بانک خطا میده