PDA

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



nilmil_nil
سه شنبه 22 مرداد 1387, 01:17 صبح
سلام
نمایش اطلاعات یک DataSet در کریستال بدون اتصال به پایگاه داده

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

tthenry14plus
سه شنبه 22 مرداد 1387, 02:29 صبح
یک شی DataSet بساز (Project -> Add New Item -> DataSet)
Table جدیدی در DataSet ی ساخته ای ایجاد کن و نام ستون ها رو Column1,Column2 , ... بذارید البته بسته به تعداد ستون های مورد نیاز تون .
حالا یک کریستال ریپورت که دیتاستش همین دیتاستی که ساختی باشه بساز.
و کار نهایی هنگام نمایش در crystalReportViewer :
مثال:


CrystalReport1 rpt = newCrystalReport1();
OleDbConnection con = newOleDbConnection("provider=microsoft.jet.oledb.4.0;data source=db1.mdb");
OleDbDataAdapter da = newOleDbDataAdapter("select type as column1, name as column2, model as column3, price as column4, num as column5 from bank2", con);
DataSet1 ds1 = newDataSet1();
da.Fill(ds1, "bank2");
rpt.SetDataSource(ds1);
crystalReportViewer1.ReportSource = rpt;

nilmil_nil
چهارشنبه 23 مرداد 1387, 00:49 صبح
یک شی DataSet بساز (Project -> Add New Item -> DataSet)
Table جدیدی در DataSet ی ساخته ای ایجاد کن و نام ستون ها رو Column1,Column2 , ... بذارید البته بسته به تعداد ستون های مورد نیاز تون .
حالا یک کریستال ریپورت که دیتاستش همین دیتاستی که ساختی باشه بساز.
و کار نهایی هنگام نمایش در crystalReportViewer :
مثال:


CrystalReport1 rpt = newCrystalReport1();
OleDbConnection con = newOleDbConnection("provider=microsoft.jet.oledb.4.0;data source=db1.mdb");
OleDbDataAdapter da = newOleDbDataAdapter("select type as column1, name as column2, model as column3, price as column4, num as column5 from bank2", con);
DataSet1 ds1 = newDataSet1();
da.Fill(ds1, "bank2");
rpt.SetDataSource(ds1);
crystalReportViewer1.ReportSource = rpt;




فکر کنم منظورم رو نگرفتی
شما فرض کنید برنامه ی من با پایگاه داده کار نمی کنه من اطلاعاتی دارم مثل Log گرفتن از برنامه ی خودم که می خوام اون اطلاعات رو فقط با کریستال نشون بدم و در صورت نیاز چاپ کنم حالا من این اطلاعت رو می تونم تو DataSet بریزم با دستوراتی مثل AddTable,AddRow,AddColumn خوب حالا موندم چه طور به کریستال ریپورت وصلش کنم
نمی دونم منظورم رو گرفتید یا نه

tthenry14plus
پنج شنبه 24 مرداد 1387, 12:29 عصر
باید از ParameterFileld های داخل کریستال ریپورت استفاده کنید و هنگام فراخوانی پارامترهای مورد نظرتون رو به اون ارسال کنید.
مثال:


ParameterFields paramFields;
ParameterField paramField = new ParameterField();
paramField.Name = "column1"();
ParameterDiscreteValue paramDiscreteValue = new ParameterDiscreteValue();
paramDiscreteValue.Value = "هر چیزی که دلتون میخواد";
paramField.CurrentValues.Add(paramDiscreteValue);
//Add the paramField to paramFields
paramFields.Add(paramField);

crystalReportViewer1.ParameterFieldInfo = paramFields;
.
.
.

nilmil_nil
جمعه 25 مرداد 1387, 00:45 صبح
باید از ParameterFileld های داخل کریستال ریپورت استفاده کنید و هنگام فراخوانی پارامترهای مورد نظرتون رو به اون ارسال کنید.
مثال:


ParameterFields paramFields;
ParameterField paramField = newParameterField();
paramField.Name = "column1"();
ParameterDiscreteValue paramDiscreteValue = newParameterDiscreteValue();
paramDiscreteValue.Value = "هر چیزی که دلتون میخواد";
paramField.CurrentValues.Add(paramDiscreteValue);
//Add the paramField to paramFields
paramFields.Add(paramField);

crystalReportViewer1.ParameterFieldInfo = paramFields;
.
.
.



ممنون از جوابتون اینی که شما میگید دسته ولی این جوری که نمیشه گزارش رو تنظیم کرد منظورم شکل خروجی گزارش اندازه فونت و نوع فونت و محل قرارگیری فیلد ها و غیره ...
ممنون می شم جوابمو بدید خیلی وقت گیر همین یه تیکه کد برای پروژم هستم
باتشکر