View Full Version : از Data grid چطوری گزارش بگیرم
  
kkaajjaall
شنبه 03 شهریور 1386, 18:59 عصر
با سلام ، من مشکل دارم با کریستال ، راستش من برای یک کلینیک دارم برنامه می نویسم و یه DataGride گذاشتم که براساس شماره پرونده بیمار تعداد مراجعات و شرح بیماریش رو در هر بار رجوع به کلینیک نمایش بده و حالا می خوام از این اطلاعات گزارش بگیرم اما انگار توی کریستال کل یک Table نمایش داده می شه و من نمی تونم فقط از همون اطلاعاتی که می خوام گزارش بگیرم ممنون می شم کمک کنید و یا اگه تاپیکی راجع به این موضوع توضیح داده بهم معرفی کنید.
ascpro
شنبه 03 شهریور 1386, 21:26 عصر
میشه یکم کامل تر و بیشتر توضیح بدین.
من که کامل متوجه نشدم.
kkaajjaall
شنبه 03 شهریور 1386, 22:38 عصر
من در Table تمامی بیماران رو دارم حالا با شماره پروندشون اونها رو search  می کنم و در data grid نمایش می دم مثلا فقط اطلاعات یک بیمار رو نشون میده حالا می خوام از همین یک نفر گزارش بگیرم اما بلد نیستم و کریستا ل همه اطلاعات توی حدول رو نشون می ده اما من فقط اطلاعات اون فرد خاص رو می خوام. فوری تو رو خدا کمک
choobin84
یک شنبه 04 شهریور 1386, 08:54 صبح
در بانکتان باید یک جستجو انجام دهید و نتیجه جستجورا به کریستال ریپورت بفرستید.
select * from table where name='choobin'با نحوه سئوالتون آدم فکر می کنه که می خواهید اطلاعات داخل یک دیتاگرید رو چاپ کنید.
kkaajjaall
یک شنبه 04 شهریور 1386, 11:46 صبح
البته من می خوام اطلاعات داخل Data grid  رو بر حسب تقاضای کاربر که Search  می کنه گزارش بگیرم مثلا یه بار می خواد از همه اسمهای choobin  پرینت بگیره یه بار می خواد از همه بیمارای یک دکتر خاص . اما موقع run  برنامه سرچ کنه می شه کد کاملش رو برام بنویسید.مرسی
choobin84
یک شنبه 04 شهریور 1386, 17: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, 19:48 عصر
چطور وصلش کنم به کریستال کدش چیه؟
fereshtehrahimi
دوشنبه 05 شهریور 1386, 14:33 عصر
این مشکل من هم هست من در خود بر نامه کریستال ریپورت برای فیلدی که قرار است از vb بفرستم مثلا نام یک پارامتر هم ساختهام ولی باز هم جواب نگرفتم
choobin84
دوشنبه 05 شهریور 1386, 15:12 عصر
دو راه دارید، یکی فرستادن پارامتر به گزارش است که معمولا برای مقادیر به تعداد کم استفاده می شود و دوم راه فرستادن مقادیر یک datatable  به گزارش.
وقتی گزارش رو از فیلدهاتون ساختید ، مقادیر حاصل از جستجو را در یک datatable بریزید و به کریستال بفرستید.
choobin84
دوشنبه 05 شهریور 1386, 15: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)  پر شده است
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.