سلام
من گزارش ساختن از طریق کریستال ریپورت رو تقریبا میدونم یعنی ارتباط خود کریستال با Sql
ولی میخوام از طریق net. دیتاست ایجاد کنم و اون رو لینک کنم به گزارشم در کریستال ریپورت
اگر کسی اطلاع داره خواهشا کمک کنه
ممنون
سلام
من گزارش ساختن از طریق کریستال ریپورت رو تقریبا میدونم یعنی ارتباط خود کریستال با Sql
ولی میخوام از طریق net. دیتاست ایجاد کنم و اون رو لینک کنم به گزارشم در کریستال ریپورت
اگر کسی اطلاع داره خواهشا کمک کنه
ممنون
شما بايد يك ديتا ست درست كني و از طرفي هم با crystal rport viewr اطلاعلت پاس بديد
چقدرشو ميدونيد؟
هر چقدر ميدونيد بگيد تا من بقيشو ادامه بدم
در پاس دادن اطلاعات مشکل دارم
ممنون میشم اگر پاسخ بدید
SqlConnection con = new SqlConnection("server=.;database=student;integrated security=true;");
SqlDataAdapter dap = new SqlDataAdapter("select * from student" , con);
DatasetTarazKol dst = new DatasetTarazKol();
CrystalTarazKol orpt = new CrystalTarazKol();
con.Open();
dap.Fill(dst, "Tarazkol");
con.Close();
orpt.SetDataSource(dst);
crystalReportViewer1.ReportSource = orpt;
شما بايد در يك فرم كه ايجاد كرديد يك crystal report vier بذاريد و در form load اينها رو بذاري
بعد يك dataset درست كني و مطابق با فيلدهايي كه در select ميخواي متناظر درست كني
DatasetTarazKol dst = new DatasetTarazKol();
DatasetTarazKolنام ديتاست هست
dap.Fill(dst, "Tarazkol");
اينجا هم به جاي taraz kol نام ديتا تيبل كه درون ديتاست درست كرديد بگذاريد
و يك كريستال ريپورت هم كه طراحي مي كنيد
هر جا مشكل داشتيد بگيد
سلام.
لطفا اگه میشه از ابتدا یه گزارش گیری توسط کریستال رو آموزش بدین تا هم من و هم بقیه که بلد نیستن یاد بگیریم.
ممنون.
ابتدا روي فرمتون از قسمت toolbar يك crystal report viewr بذاريد
حالا فرض كنيد ما مي خوايم اطلاعات نام نام خانوادگي و ادرس يك دانش اموز پاس بديم .و چاپ كنيم
پس در همين form load اين فرممون مي نويسيم
SqlDataAdapter dap = new SqlDataAdapter("select name,family ,adress from student" , con);
Datasetst dst = new Datasetst();نام ديتاستي كه ساخته ايم و من datasetstگذاشتم
CrystalTarazKol orpt = new CrystalTarazKol(); اين هم كه نام كريستالي هست كه درست كردم
;
con.Open();
dap.Fill(dst, "student");اين هم نام ديتا تيبلي كه در ديتاست درست كرديم
con.Close();
orpt.SetDataSource(dst);
crystalReportViewer1.ReportSource = orpt;
قسمت بعدي بايد ديتاست درست كنيم
كه مانند درست كردن فرم هست فقط ديتاست انتخاب مي كنيم كه من نامش datasetstگذاشتم
بعد بايد داخلش datatable درست كنيم
بعد داخلش كليك راست بعد add...datatableانتخاب مي كنيم
بعد مطابق با فيلدهايي كه مي خواهين پاس دهيم اينجا درست مي كنيم
كه ما بايد name,family,adress درست كنيم
حالا با يد يك كريستال درست كنيم
درست كردنش مثل فرم هست فقط كريستال ريپورت بايد انتخاب كنيم
و as blank انتخاب كنيد چون ويزاردي جالب در نمياد
حالا بايد ديتاست پاس بديم
روي database fieldكليك راست database export انتخاب كنيد
بعد هم مسير ديتاست بديد و بعد خودش اضافه مي كنه و ميتونيد فيلدها رو روي صفحه بكشيد
و فونت رنگ و ...تغيير بديد
...
اينو بدونيد كه كريستال امكانات زيادي داره اگر كمكي خواستيد در خدمتم
اميدوارم كه بدردتون بخوره و بتونيد استفاده كنيد و من هم دعا كنيد:11:
نقل قول:خط 8 Runtime error میده: The report has no tablesکد:1 SqlConnection con = new SqlConnection("server=.;database=student;integrated security=true;");
2 SqlDataAdapter dap = new SqlDataAdapter("select * from student" , con);
3 DatasetTarazKol dst = new DatasetTarazKol();
4 CrystalTarazKol orpt = new CrystalTarazKol();
5 con.Open();
6 dap.Fill(dst, "Tarazkol");
7 con.Close();
8 orpt.SetDataSource(dst);
9 crystalReportViewer1.ReportSource = orpt;
ممنون از راهنماییتون
درست شد
داخل گزارشم در قسمت Database Fields هیچ دیتابیسی Add نکرده بودم.
الان مشکلی که دارم اینه که خب من command sql رو خودم مینویسم و دیتاسورس گزارش رو تعیین میکنم, حالا اگر command ی که مینویسم join بین چند
تا table باشه مثلا یه فیلد مجازی از حاصل جمع چند فیلد ایجاد میکنم. اونوقت از این فیلد در گزارشم چطوری استفاده کنم؟ (در گزارش فقط فیلدهایی رو
میتونم استفاده کنم که واقعا در دیتابیس موجود هست)