PDA

View Full Version : سوال: مشکل در استفاده از کریستال ریپرت در برنامه بعد از اتصال به بنک



a_123123123123
سه شنبه 14 تیر 1390, 11:39 صبح
سلام دوستان
من بلدم کرستال ریپرت رو به بانک وصل کنم ولی نمیدونم چه طوری باید ازاشش تو برنامه ام استفاده کنم
منظورم اینه که بعد از اینکه به بانک وصل کردم ومثلا بخوام از اطلاعات گراید ویو (بعد از ردن یه دکمه) گزارش بگیرم و اطلاعات توسط چاپگر چاپ بشه چیکار باید انجام بدم؟

maryam_20
جمعه 17 تیر 1390, 18:52 عصر
سلام دوستان
من بلدم کرستال ریپرت رو به بانک وصل کنم ولی نمیدونم چه طوری باید ازاشش تو برنامه ام استفاده کنم
منظورم اینه که بعد از اینکه به بانک وصل کردم ومثلا بخوام از اطلاعات گراید ویو (بعد از ردن یه دکمه) گزارش بگیرم و اطلاعات توسط چاپگر چاپ بشه چیکار باید انجام بدم؟


-------------------------------------------------------

اطلاعات رو بايد توي dataset بريزي و dataset رو به كريستال ريپورت بدي
اگه متوجه نشدي بگو تا كدش رو هم بزارم

maryam_sahar
پنج شنبه 23 تیر 1390, 10:32 صبح
-------------------------------------------------------

اطلاعات رو بايد توي dataset بريزي و dataset رو به كريستال ريپورت بدي
اگه متوجه نشدي بگو تا كدش رو هم بزارم

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

maryam_20
پنج شنبه 23 تیر 1390, 20:11 عصر
سلام میشه لطفا این کدی که می گید رو اینجا بذارید؟ ممنون میشم.


خواهش مي كنم
ما فرض مي كنيم كه يه فرم داريم به اسم فرم شماره1
تو اين فرم مثلا مياي اسم يه دانش آموز رو ميگيري و مي خواي اطلاعات اون دانش آموز و نمرات دارس هاش رو بگيري بفرستي به كريستال ريپورت و چاپش كني
اين كد رو توي رويداد كليك button مشاهده مشخصات مي نويسي:

SqlConnection c = new SqlConnection("Data Source=.;Initial Catalog=school;Integrated Security=True");
c.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = c;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "find";
cmd.Parameters.Add("@name", SqlDbType.NVarChar, 50).Value = comboBox1.Text;
cmd.ExecuteNonQuery();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
c.Close();
Form f2 = new Form2();
f2.Show();


و توجه كن كه بايد dataset رو تعريف كني قبلش:

public static DataSet ds = new DataSet();

حالا يه فرم شماره 2 مي سازيم و crystal report viewer مي گذاريم داخلش
و توي رويداد load فرم شماره 2 اين رو بنويس:

ParameterFields paraFields = new ParameterFields();

this.crystalReportViewer1.ParameterFieldInfo = paraFields;
this.CrystalReport11.SetDataSource((DataTable)(For m1.ds.Tables[0]));
this.crystalReportViewer1.ReportSource = this.CrystalReport11;


حالا بايد بايد يه dataset بسازي كه ما اسمش رو ميذاريم dataset1
add/ new item/dataset
بعد از قسمت toolbox يه جدول مياري توش و همه فيلد هايي كه توي store procedure كه مال ما اسمش findبود و select كردي اينجا به عنوان column جديد معرفي مي كني


و حالا نوبت ميرسه به كريستال ريپورت
يه كريستال ريپورت جديد مي سازي كه طريقه ساختنش راحته

در قسمت database field بايد dataset1 رو به ريپورت اضافه كني و فيلد هاش رو drag كني رو گزارشت

و يه نكته كه جا موند اينكه در فرم شماره 2 در قسمت properties مربوط به crystal report viewer1 بايد report source رو به اسم crystalreport1 قرار بدي

maryam_sahar
جمعه 24 تیر 1390, 19:51 عصر
خیلی ممنونم . فقط اینکه دیتا بیس من با اکسسه. بازم میتونم از این کد استفاده کنم؟