PDA

View Full Version : امکان گزارش پویا برای مدیر



Neda_Bagheri
دوشنبه 28 آبان 1386, 09:50 صبح
یکی به داد من برسه من می خواهم امکانی برای مدیر بذارم که بتونه گزارش از جدول و ستونهای دلخواهش بگیرد (گزارش پویا) .نمی دونم چه کنم از کریستال باید استفاده کنم یا Report Service Sql ؟ و چطور ؟ توضیح کامل می خوام .

ardavan
دوشنبه 28 آبان 1386, 14:01 عصر
اصولا برای اینگونه گزارشات (پویا) فرمی با ابجکت checkedlistbox طراحی می کنند و فیلدای گزارش در ان لیست می کنند و کاربر فیلد های مورد نظر خودش انتخاب می کنه و شما آن فیلد هارو تو query می گذارید و query می سازید یعنی (پویا)
حالا آن query می تونید به crystal report و.. پاس بدید.

Dashti
دوشنبه 28 آبان 1386, 15:40 عصر
چه جوری میشه یک query رو به کریستال پاس کرد ؟

Neda_Bagheri
دوشنبه 28 آبان 1386, 15:54 عصر
من لیست جداول و ستونها را به مدیر نشان می دهم و اون می تونه انتخاب کنه مشکل من قسمت report شه . می تونم نام ستونها را به صورت پارامتر بگیرم ولی اصولا چون با کریستال به صورت ویزاردی کار می کنم و در قسمت Expert جدولی که می خوام گزارش تهیه کنم وارد کرده و فیلدهای اونو می کشم روی صفحه ، برای همین نمی دونم اگر Table را نخوام به صورت ویزاردی بیارم چطور می تونم فیلداشو تعریف کنم .

Neda_Bagheri
چهارشنبه 30 آبان 1386, 08:03 صبح
یکی یه راه حل برای من پیدا کنه

__H2__
چهارشنبه 30 آبان 1386, 17:28 عصر
سلام

چه جوری میشه یک query رو به کریستال پاس کرد ؟
متد SetDataSource مربوط به مازول گزارش کریستال مورد نظر انواع منابع ورودی را میپذیرد.

حامد فراست
پنج شنبه 01 آذر 1386, 07:28 صبح
سلام خدمت h2عزیز
گفتی که SetDataSource چیز های زیادی رو بجای منبعش میگیره یه نگاه به این کد من بکن بیبن کجاش اشتباه که فیلتر نمیشه .
Dim ds As myDataSet = New myDataSet
'Me.SqlDataAdapter1.SelectCommand.CommandText = "SELECT * FROM reportv WHERE (name ='حامد') AND (last_name ='فراست')"
Me.SqlDataAdapter1.Fill(ds, "reportv")

Dim rp_pth As String = Application.StartupPath & "\" & "CrystalReport1.rpt"
reportDocument1.Load(rp_pth)
reportDocument1.SetDataSource(ds)

Me.CrystalReportViewer1.ReportSource = reportDocument1
ممنون

__H2__
دوشنبه 05 آذر 1386, 13:31 عصر
سلام
اگر منظورتان شرط WHERE است که در دستور SELECT آورده اید، اگر کد همین است باید اجرا شود و اگر نشد دوحالت دارد!
1) هیچ چیز نشان نمیدهد!
در این حالت و با این کد شما، احتمالاً مشکل از کدینگ کاراکترها است، مثلاً کد شرط را با نام های انگلیسی امتحان کنید و اگر از بانک SQL Server استفاده میکنید یک N قبل از شروع تک کوتیشنها بیاورید و...


2) همه چیز را نشان میدهد!
در این حالت یا DataSet شما مثل این کد محلی تعریف نشده و یک بار در سطح ماژول تعریف شده و داده های قبلی از پر کردن مجدد، پاک نکرده اید.
یا فایل کریستالتان مشکل دارد و شاید تنظیمات را طوری دستکاری کرده باشید که خودش همواره به منبع مشخصی وصل شود و دستور SetDataSource عملاً بی استفاده شده. (البته اصلاً مطمئن نیستم همچین تنظیمی داشته باشیم)
در این مورد میتوانید سری هم به این نمونه کد ساده بیاندازید (http://www.h02.ir/Download.aspx?File=CrystalReportSamples.zip) که البته فیلترینگ ندارد ولی کار با کریستال را در ساده ترین شکل نشان میدهد.

موفق باشید.