PDA

View Full Version : از Data grid چطوری گزارش بگیرم



kkaajjaall
شنبه 03 شهریور 1386, 17:59 عصر
با سلام ، من مشکل دارم با کریستال ، راستش من برای یک کلینیک دارم برنامه می نویسم و یه DataGride گذاشتم که براساس شماره پرونده بیمار تعداد مراجعات و شرح بیماریش رو در هر بار رجوع به کلینیک نمایش بده و حالا می خوام از این اطلاعات گزارش بگیرم اما انگار توی کریستال کل یک Table نمایش داده می شه و من نمی تونم فقط از همون اطلاعاتی که می خوام گزارش بگیرم ممنون می شم کمک کنید و یا اگه تاپیکی راجع به این موضوع توضیح داده بهم معرفی کنید.

ascpro
شنبه 03 شهریور 1386, 20:26 عصر
میشه یکم کامل تر و بیشتر توضیح بدین.
من که کامل متوجه نشدم.

kkaajjaall
شنبه 03 شهریور 1386, 21:38 عصر
من در Table تمامی بیماران رو دارم حالا با شماره پروندشون اونها رو search می کنم و در data grid نمایش می دم مثلا فقط اطلاعات یک بیمار رو نشون میده حالا می خوام از همین یک نفر گزارش بگیرم اما بلد نیستم و کریستا ل همه اطلاعات توی حدول رو نشون می ده اما من فقط اطلاعات اون فرد خاص رو می خوام. فوری تو رو خدا کمک

choobin84
یک شنبه 04 شهریور 1386, 07:54 صبح
در بانکتان باید یک جستجو انجام دهید و نتیجه جستجورا به کریستال ریپورت بفرستید.

select * from table where name='choobin'با نحوه سئوالتون آدم فکر می کنه که می خواهید اطلاعات داخل یک دیتاگرید رو چاپ کنید.

kkaajjaall
یک شنبه 04 شهریور 1386, 10:46 صبح
البته من می خوام اطلاعات داخل Data grid رو بر حسب تقاضای کاربر که Search می کنه گزارش بگیرم مثلا یه بار می خواد از همه اسمهای choobin پرینت بگیره یه بار می خواد از همه بیمارای یک دکتر خاص . اما موقع run برنامه سرچ کنه می شه کد کاملش رو برام بنویسید.مرسی

choobin84
یک شنبه 04 شهریور 1386, 16:37 عصر
البته من می خوام اطلاعات داخل Data grid رو بر حسب تقاضای کاربر که Search می کنه گزارش بگیرم مثلا یه بار می خواد از همه اسمهای choobin پرینت بگیره یه بار می خواد از همه بیمارای یک دکتر خاص . اما موقع run برنامه سرچ کنه می شه کد کاملش رو برام بنویسید.مرسی

مثلا می توانید از کنترل textBox کمک بگیرید از ComboBox و richTextBox و هر چیزی که کاربر بتونه توی اون بنویسه هم می توان استفاده کرد.

اگر می خواهید دقیقا نامی که در textBox وجود داره رو جستجو کنه ؛

select * from table where name='"+textBox1.text+"'"

اگر می خواهید تمام نام هایی را پیدا کند که قسمتی از آن در textBox موجوده؛


select * from table where name like '%"+textBox1.Text+"%'"

kkaajjaall
یک شنبه 04 شهریور 1386, 18:48 عصر
چطور وصلش کنم به کریستال کدش چیه؟

fereshtehrahimi
دوشنبه 05 شهریور 1386, 13:33 عصر
این مشکل من هم هست من در خود بر نامه کریستال ریپورت برای فیلدی که قرار است از vb بفرستم مثلا نام یک پارامتر هم ساختهام ولی باز هم جواب نگرفتم

choobin84
دوشنبه 05 شهریور 1386, 14:12 عصر
دو راه دارید، یکی فرستادن پارامتر به گزارش است که معمولا برای مقادیر به تعداد کم استفاده می شود و دوم راه فرستادن مقادیر یک datatable به گزارش.
وقتی گزارش رو از فیلدهاتون ساختید ، مقادیر حاصل از جستجو را در یک datatable بریزید و به کریستال بفرستید.

choobin84
دوشنبه 05 شهریور 1386, 14:22 عصر
طریقه ارسال پارامتر؛


Dim paramFields As New ParameterFields
Dim paramField1 As New ParameterField
Dim discreteVal1 As New ParameterDiscreteValue

Public Function SetParameters(ByVal aztarikh As String, ByVal tatarikh As String)

paramField1.ParameterFieldName = "Date"
discreteVal1.Value = "MyParameter value"
paramField1.CurrentValues.Add(discreteVal1)
paramFields.Add(paramField1)
CrystalReportViewer1.ParameterFieldInfo = paramFields

End Functionطریقه فرستادن مقادیر datatable ؛

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


reportDocument1.Load(path)
reportDocument1.SetDataSource(dt)
CrystalReportViewer1.ReportSource = reportDocument1
path مسیر و نام فایل گزارش شماست.
dt همان datatable است که با دستور جستجو(select) پر شده است