# مباحث متفرقه برنامه نویسی > گزارش سازی با Crystal Report >  ارسال پارامتر برای گزارش گیری پویا از VB.NET

## tizdast

شاید بگید تاپیک تکراری هست اما چون از جوابهای قبلی چیزی دست گیرم نشد باز پرسیدم.چون من خودم معمولا اول search میکنم بعد اگر نبود سوال . اما سوال :
میخوام توی یه فرم یه textbox داشته باشم که وقتی مقداری توش وارد میکنم بازدن یه button یه report ساخته بشه که مثلا اگر کد دانشجو رو وارد کردم نام و نام خانوادگی و رشته دانشجو رو نمایش بده.
سوال 1: آیا اینکه Crystal report رو قبلا طراحی کنم که فیلدهای مورد نظر را نمایش بده کار درستی هست ؟
سوال 2 : کد هایی که باید برای button بنویسم چیه؟لطفا کد ها کامل بگید تا بقیه هم بعدا استفاده کنند.چون این سوال خیلی از دوستان هست

----------


## mohandese_hiclass

> شاید بگید تاپیک تکراری هست اما چون از جوابهای قبلی چیزی دست گیرم نشد باز پرسیدم.چون من خودم معمولا اول search میکنم بعد اگر نبود سوال . اما سوال :
> میخوام توی یه فرم یه textbox داشته باشم که وقتی مقداری توش وارد میکنم بازدن یه button یه report ساخته بشه که مثلا اگر کد دانشجو رو وارد کردم نام و نام خانوادگی و رشته دانشجو رو نمایش بده.
> سوال 1: آیا اینکه Crystal report رو قبلا طراحی کنم که فیلدهای مورد نظر را نمایش بده کار درستی هست ؟
> سوال 2 : کد هایی که باید برای button بنویسم چیه؟لطفا کد ها کامل بگید تا بقیه هم بعدا استفاده کنند.چون این سوال خیلی از دوستان هست


دوست عزیز می تونی موقع طراحی  crystal reprot یک dataset انتخاب کنی سپس هر چی لازم داشتی بریزی داخل dataset و از انجا برداری

----------


## tizdast

توضیح کاملتری وجود نداره؟

----------


## mohandese_hiclass

دوست عزیز همونجوری که  یه تیبل رو اضافه می کنی می تونی دیتا ست رو هم اضافه کنی
عمل به نقل قولتم یادت نره

----------


## saeed_ps

با سلام بنده برای این موضوع منابع مختلفی را بررسی نمودم و چندین ماه وقت صرف کردم تا به نتیجه دلخواه رسیدم بنده کلا نحوه ارسال پارامتر را براتون توضیح میدهم امیدوارم متو جه شده باشید
1) :در فرم اصلی خود  آداپتور مربوطه را درست نمائید طوری که در داخل آن شرط خود را برای فیلدهای مربوطه بنویسید مثال    where id= @ pid بعد اجرا و نتیجه بگیرید با کلیک راست در محیط و...
2): ابتدا یک  فرم خالی در پروژه خود ایجاد ونام آنرا    form2    قرار دهید
 یک کنترل  crystalreportviewer  را به فرم 2 اضافه نمائید و خاصیت  dock آنرا   fill نمائید

3): حال add new item را با کلیک راست روی پروژه  اجرا  در بخش templetes   

   crystalreport را انتخاب  وبعد از انتخاب نام open حال از صفحه باز شده در صورت وارد نبودن اولی در غیر اینصوزت دومی را انتخاب نمایید(سومی را خواستید بعدا بگوئید توضیح بدم)
 حال در بخش data  پوشه project feilds  را باز و dataset  مربوطه را انتخاب و جداول مربوطه را انتخاب تا به سمت راست منتقل شود(توضیح با توجه به نیاز شما  جداول دیتاست انتخاب شد میتوانید بسته به نیازهای خود بانگ اطلاعاتی خود را انتخاب نمائید
نکته : اگر جدولی که میخواهید در دیتاست نیست به فرم اصلی خود نه فرم 2 برید و انرا دوباره در آداپتور مربوطه  generet  نمائید )

 - اگر چند جدول انتخاب نموده اید  پوشه  link را کلیک و ارتبا ط بین جداول را تنظیم نمایید بهتر است از یک veiw  استفاده نمائید
حال بقیه کارهای رپورت را انجتم دهید.
4): در نهایت
با کلیک بر روی دگمه پرینت فرم اصلی کد های زیر را بنویسید:

              dim  frm2 as new form2
             dim cr as new  crystalreport 1
            ()dataset.tablesname.clear
            sqldataadaptor1.selectcommand.parametres("@pid").v  alue=textbox1.text.tostring         //یا هر جای دیگر که اطلاعات را از روی فرم اصلی ارسال مینمائید
         //اگر چند پارامتر باشد دوباره تکرار 
              (sqldataadaptor1.fill(  dataset.tablesname 

         cr.setdatasource(dataset)
      \\ فقط نام دیتاست نه همراه جدول
         frm2.crystalreportviewer1.reportsource=cr
         () frm2.show    


تمام البته 

دوست عزیز  ado.net فقط از crystalreport.engine  پشتیبانی مینماید شما در solution explorer
 روی نام پروژه خود کلیک راست نموده و  add reference  را انتخاب وگزینه زیر را انتخاب نمایید

                                                  crystaldecisions.crystalreport.engine

----------


## dotnetboy_vb2005

thanks for ur topic

----------


## nasser_p

این ارسال پارامتر در گزارش گیری پویا جواب میده ؟

----------

