PDA

View Full Version : مبتدی: سئوال در مورد چگونگی ایجاد ارتباط بین دیتاگریدویو و کریستال رپورت



amir_rtf
شنبه 16 مهر 1390, 15:40 عصر
سلام بر دوستان دهکده c sharp
دوستان عزیز از دستور زیر برای پر کردن ستونهای کریستال رپورتم استفاده می کنم
CR1.SetParameterValue("name", dtmehdi.Rows[0]["name"]);
CR1.SetParameterValue("family", "amir_rtf"):
xxدر دستورات بالا یک دیتا تیبل و یک استرینگ به پارامتر کریستال نسبت دادم اما دنبال دستوری می گردم که بتوانم ستون های دیتا گرید رو ,کلا روی کریستال رپورت طراحی شده بیاورم
روشن تر بگم می خوام کل ستون های دیتا گرید رو در کریستال آورده و چاپ کنم ممنون میشم راهنماییم کنید:تشویق:

electro_esma
شنبه 16 مهر 1390, 20:25 عصر
با سلام دوست عزیز با این توضیحاتی که می ذارم هر کاری با کریستال ریپورت می تونی بکنی


1-ابتدا دو تا سرفصل زیر را به بالای برنامه اضافه می کنیم.
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;

2- کد های زیر را به برنامه اضافه می کنیم.
ReportDocument reportDocument;

reportDocument = new ReportDocument();
OleDbConnection conection = new OleDbConnection();

conection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|C.mdb;";

OleDbDataAdapter adapter = new OleDbDataAdapter("select ID as D1, name1 as D2, mojodi as D3 from personal", conection);

DataSet1 Ds = new DataSet1();

adapter2.Fill(Ds, "DataTable1");
CrystalReport1 objRpt = new CrystalReport1();
objRpt.SetDataSource(Ds);
crystalReportViewer1.ReportSource = objRpt;


3- می رویم روی سولوشن برنامه یک دیتا ست (DataSet1) به آن به نامی که در برنامه است اضافه می کنیم. روی آن دو بار کلیک می کنیم در محیطی که باز می شود کلیک راست کرده و گزینه add new data table را می زنیم.

حال به آن به مقداری که در برنامه در قسمت دیتاآداپتور مان مشخص کردیم ستون اضافه می کنیم.

4- بعد می رویم دوباره روی سولوشن برنامه یک کریستال ریپورت(CrystalReport1) به نامی که در برنامه مشخص کردیم اضافه می کنیم حال با دوبار کلیک کردن روی می توانیم شکل چند قسمتی کریستال ریپورت را مشاهده کنیم.
در قسمت field explorer ( احتمالا سمت راست بالا) روی قسمت دیتا بیس کلیک راست کرده و کلید database expert را فشار می دهیم
database expert/ project data / ADO.net/ Crystal report.Dataset(name)

در این قسمت باید دیتا تیبل را که درست کرده اید به کریستال ریپورت خود اضافه کنیم . در قسمت سمت راست خود نام دیتا ست و زیر مجموعه آن دیتا تیبل را مشاهده می کنیم .
بعد از بستن پنجره و کلیک چپ کردن روی همان گزینه Dtatbase Fields می توانید نام دیتا تیبل خود و در زیر مجموعه آن می توان نام ستون های خود را مشاهده کنید.
با کلیک راست کردن روی هر نام ستون خود می توان دکمه Insert to report زده و آن را به ریپورت خود در قسمت دیتل یعنی وسط اضافه کرد .
ضمنا باید در فرم هم از یک کریستال ریپورت ویوور هم استفاده کرد. زیرا عمل پرینت به وسیله آن انجام می شود.

electro_esma
شنبه 16 مهر 1390, 20:26 عصر
البته ببخشید به زبون خودمونی توضیح دادم