نحوه تنظیم Dataset جهت نمایش اطلاعات در Crystal Report
سلام دوستان؛
ببخشید که سوالمو اینجا مطرح میکنم ؛ آخه تو تالار crystal report کسی جوابمو نداد.
میشه بگید Dataset رو چجوری تنظیمش کنم که اطلاعات رو نشون بده:
اینهم کد من:
private void BtnShow_Click(object sender, EventArgs e)
{
ReportDocument rd = new ReportDocument();
rd.FileName = "PersonnelReport.rpt";
DataSet1 Ds = new DataSet1();
crystalReportViewer1.ReportSource = rd;
crystalReportViewer1.Show();
/*
* // rd.SetDataSource("personnel Query2");
ReportDocument report = new ReportDocument();
report.Load("PersonnelReport.rpt");
*/
}
نقل قول: نحوه تنظیم Dataset جهت نمایش اطلاعات در Crystal Report
دوستان عزیز کسی نبود جواب من رو بده؟؟؟
الان گزارشی که میگیریم خالیه و چیزی نشون نمیده.
ممنونم ازتون.
نقل قول: نحوه تنظیم Dataset جهت نمایش اطلاعات در Crystal Report
سلام. من از یک دیتاتیبل استفاده کردم (dt همون دیتاتیبل من هست که قبلا نتیجه کوئری خودم رو داخلش ریختم) و نتیجه کوئری خودم رو جهت نمایش به reportviewer دادم. من معمولا فایل کریستال رو کنار فایل اجرایی نگه میدارم تا راحت تر آدرس دهی بشه (فقط نام فایل رو ذکر میکنم).
ReportDocument rd = new ReportDocument();
rd.Load(CrtReport.rpt");
rd.SetDataSource(dt);
CrystalReportviewer1.ReportSource = rd;
CrystalReportviewer1.Show();
نقل قول: نحوه تنظیم Dataset جهت نمایش اطلاعات در Crystal Report
خیلی خیلی ممنونم دوست عزیزم
من هم تقریبا این روش رو یکم بلد بودم فقط بلد نیستم نتیجه کوئری رو بریزم تو یه دیتا تیبل! میشه کمکم کنید. خیلی واجبه و بهش نیاز دارم.
راه اینکه یک خروجی دیتا تیبل بگیرم رو میشه بگید. ممنونم.
نقل قول: نحوه تنظیم Dataset جهت نمایش اطلاعات در Crystal Report
اینطوری میشه دیتاتیبل رو پر کرد :
SqlConnection con = new SqlConnection("Data Source = .\\Wincc;Initial Catalog=tel;Integrated Security=True");
SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM tell",con);
DataTable dt = new DataTable();
da.Fill(dt);
نقل قول: نحوه تنظیم Dataset جهت نمایش اطلاعات در Crystal Report
دوست عزیزم ممنونم؛ ولی من همچنان نیازمند راهنمایی هاتون هستم.
ببینید من اشتباه کردم و اومدم بانک رو اکسس انتخاب کردم؛ که اگه بتونم تو این چند روز تعطیلی حتما عوضش می کنم.
ببینید من کد رو اینجوری نوشتم ولی بازهم گزارشات سفید نشون داده میشه!!
ضمنا آیا میتونه به این خاطر باشه که من وقتی از حالت ویزاردی استفاده می کردم فقط 5 تا فیلدشو گذاشتم تو صفحه و الان دارم دستور میدم که همه رو انتخاب کن:(select * from personnel)؟؟ نمیخواد فقط فیلدهایی رو که از ویزارد انتخاب و تو صفحه گذاشتم رو تو اینجا ذکر کنم؟
بهر حال این کد من هستش: میشه کمکم کنید؟؟ ممنون میشم.
public DataTable Select()
{
string cs = "'Provider =Microsoft.ACE.OLEDB.12.0';Data Source='C:\\Documents and Settings\\sahel\\My Documents\\employee.mdb'";
OleDbConnection conn = new OleDbConnection(cs);
OleDbDataAdapter da = new OleDbDataAdapter();
da.SelectCommand = new OleDbCommand("Select * from personnel", conn);
DataTable dt = new DataTable();
da.Fill(dt);
return dt;
}
private void BtnShow_Click(object sender, EventArgs e)
{
DataTable dt = new DataTable();
personnel p = new personnel();
ReportDocument rd = new ReportDocument();
rd.Load("PersonnelReport.rpt");
rd.SetDataSource(dt.Select());
crystalReportViewer1.ReportSource = rd;
crystalReportViewer1.Show();
}
نقل قول: نحوه تنظیم Dataset جهت نمایش اطلاعات در Crystal Report
چندتا مورد رو میگم اعمال کنید :
اولش در مورد تابع select شما که یه دیتاتیبل برمیگردونه. مقدار دریافتی رو درون دکمه خودتون رو بصورت زیر دریافت کنید :
private void BtnShow_Click(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt = Select();
ReportDocument rd = new ReportDocument();
rd.Load("PersonnelReport.rpt");
rd.SetDataSource(dt);
crystalReportViewer1.ReportSource = rd;
crystalReportViewer1.Show();
}
مورد بعدی اینه که وقتی چیزی رو نمیخواید استفاده کنید چرا بی جهت اونو new می کنید ؟ (منظورم personnel p = new personnel(); هست )
مورد سوم که احتمال زیاد رعایت نکردید ساخت یک دیتاست هست که به کریستال باید وصل بشه. شما میتونی از منوی data و گزینه add new datasource دیتابیس و جدول خودتون رو در قالب یک دیتاست بسازید و اونو به کریستال وصل کنید.
نقل قول: نحوه تنظیم Dataset جهت نمایش اطلاعات در Crystal Report
متشکرم.
من کد رو اینطور و طبق گفته شما تغییر دادم:
private void BtnShow_Click(object sender, EventArgs e)
{
DataTable dt = new DataTable();
ReportDocument rd = new ReportDocument();
rd.Load("PersonnelReport.rpt");
rd.SetDataSource(dt);
crystalReportViewer1.ReportSource = rd;
crystalReportViewer1.Show();
}
بازهم سفید و بدون دیتا نشون داد. راستش دارم گیج میشم؛ ببینید مگه همون اول که کریستال ریپورت رو میخواستم بیارمش تو صفحه خوب به دیتای مورد نظرم وصل کردم.
عکس رو ببینید:
نقل قول: نحوه تنظیم Dataset جهت نمایش اطلاعات در Crystal Report
بابت دیتاست نه نیاز یه انجام کار جدیدی نیست و منظورم همون مرحله اول هست که باید دیتاست (همون جدولی که داخلش قرار داره و قراره ازش گزارش گرفته بشه) رو به کریستال وصل کنید که گفتید انجام دادید. ولی دوست من چرا دیتاتیبل رو مقدار دهی نکردید؟ شما یک خط از کدی رو که من گفتم و دیتاتیبل رو پر میکنه رو فراموش کردی بذاری. یه دیتاتیبل خالی که نمیتونه چیزی رو نشون بده. (dt شما باید مقدار خودش رو از متد select بگیره که شما یه خروجی از نوع دیتاتیبل واسش معرفی کردی) :
private void BtnShow_Click(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt = Select();
ReportDocument rd = new ReportDocument();
rd.Load("PersonnelReport.rpt");
rd.SetDataSource(dt);
crystalReportViewer1.ReportSource = rd;
crystalReportViewer1.Show();
}
نقل قول: نحوه تنظیم Dataset جهت نمایش اطلاعات در Crystal Report
دقیقا من هم همین مشکل را دارم، لطفا راهنمایی کنید
نقل قول: نحوه تنظیم Dataset جهت نمایش اطلاعات در Crystal Report
مجددا ممنونم ازتون؛
فکر کنم داریم به یه جاهایی می رسیم.
ببینید بعد از اینکه گذاشتم و اجرا کردم این پیغام رو داد:
(فکر کنم جای امیدواری داره و داره وصل میشه)
نقل قول: نحوه تنظیم Dataset جهت نمایش اطلاعات در Crystal Report
به احتمال زیاد مشکل از کانکشن استرینگ شماست. کانکشنی که نوشتید رو بذارید.
نقل قول: نحوه تنظیم Dataset جهت نمایش اطلاعات در Crystal Report
دوست عزیزم کانکش رو قبلا تو چند پست قبلی گذاشتم؛ فکر کنم منظورتون همین باشه: درسته:
public DataTable Select()
{
string cs = "'Provider =Microsoft.ACE.OLEDB.12.0';Data Source='C:\\Documents and Settings\\sahel\\My Documents\\employee.mdb'";
OleDbConnection conn = new OleDbConnection(cs);
OleDbDataAdapter da = new OleDbDataAdapter();
da.SelectCommand = new OleDbCommand("Select * from personnel", conn);
DataTable dt = new DataTable();
da.Fill(dt);
return dt;
}
نقل قول: نحوه تنظیم Dataset جهت نمایش اطلاعات در Crystal Report
اگر در طول برنامه با کانکشن استرینگی که خودتون نوشتید مشکلی ندارید و برنامه بدرستی کار میکنه همون مال خودتون رو بذارید باقی بمونه ولی اگه کلا هیچ کاری نمیتونید باهاش انجام بدید (نه درج نه حذف نه ویرایش و ...) از کانکشن استرینگی که میگم استفاده کنید :
string cs = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Documents and Settings\\sahel\\My Documents\\employee.mdb";
دقیقا چیزی رو که گذاشتم جایگزین مال خودتون کنید.
نقل قول: نحوه تنظیم Dataset جهت نمایش اطلاعات در Crystal Report
خیلی خیلی ممنون دوست عزیزم؛
مشکل حل شد و اطلاعات قابل مشاهده هستند. مرسی
ببخشید حسابی اذیت شدید امروز.
فقط میشه بگید چه تفاوتی داشت کانکشن شما با من؟
ضمنا من اگه بخوام در فرمهای دیگه تغییر، ویرایش و یا حذف رو انجام بدم اشکالی نداره که؟ این کانکشن شما مگه چه تفاوتی داشت که باعث شد پیغام خطا دیگه ظاهر نشه؟؟
همچنین اگه بخوام تو هر صفحه فقط فیلدهای یک نفر مشاهده بشن و خودم یک سری متن اضافه کنم ، کریستال رو به حالت سفارشی خودم در بیارمش؟
بازهم ازتون ممنونم.
خیلی کمکم کردید. دیگه خسته شده بودم.
نقل قول: نحوه تنظیم Dataset جهت نمایش اطلاعات در Crystal Report
دوتا تک کوتیشن قبل از cو بعد از d
'C:\\Documents and Settings\\sahel\\My Documents\\employee.mdb'