0 امتیاز

من با کد زیر اطلاعات یک جدول رو به گزارش ارسال می کنم، حالا اگر بخواهم یک جدول دیگر رو هم به همراه این کد ارسال کنم در کد زیر چه تغییر باید بدهم؟

cmd.CommandText = "select * from Tbl_Ajnas";
cmd.CommandType = CommandType.Text;
cmd.Connection = con;
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
DataTable dt = new DataTable();
con.Open();
da.Fill(dt);
con.Close();
//------------------------Report
stiReport1.Load(Environment.CurrentDirectory + @"\Rpt_kala.mrt");
stiReport1.RegData("DT1", dt);
stiReport1.Show();

 

2 پاسخ

+2 امتیاز
بهترین کار اینه که از طریق یک کوئری و یا یک ویو در بانک اطلاعات رو از دو جدول بخونی و از همون ویو و یا کوئری برای گزارش استفاده کنید . البته ارتباط بین جداول یادتون نره
+1 امتیاز

سلام دوست عزیز

همون طور که می دونی برای استفاده از یک جدول از DataTable استفاده میشه مثل کاری که شما الان انجام دادی

و برای استفاده از بیش از یک جدول از DataSet

من خیلی ساده به شکل زیر هر چند تا جدولی که بخوام رو به استیمول ارسال میکنم

 DataSet dss = new DataSet();
            dss.Merge(Results);
            dss.Tables[0].TableName="GuarantyTBL";
            dss.Merge(Results_1);
            dss.Tables[1].TableName="MosaedehTBL";
            
            stiReport1.RegData(dss);
            stiReport1.Render();
            stiReport1.Show();

خوب اول یه دیتاست درست کردم به نام dss

من دو تا جدول دارم و هرکدوم رو داخل یه دیتا تیبل قرار دادم

اسم دیتا تیبل اول Results دومی  Results_1

همچنین اسم خود جدول ها رو هم باید معرفی کنی که جدول ها رو هم میبینی

جدول گارانتی و مساعده

در آخر هم دیتاست رو به عنوان دیتا اصلی به استیمول معرفی میکنی

امتحان کن جوابش رو بهم بده!
 

این روش برای زمانی خوبه که شما از دیتاست استفاده میکنی
توسط (3,062 امتیاز) 1
خیلی ممنون، من اینطوری مشکل رو حل کردم، نظر شما چیه؟

            System.Data.DataTable dt1 = new System.Data.DataTable();
            DataBase db1 = new DataBase();
            dt1 = db1.MySelect("select * from Tbl_Ajnas");
            System.Data.DataTable dt2 = new System.Data.DataTable();
            DataBase db2 = new DataBase();
            dt2 = db2.MySelect("select * from Tbl_info");
            DataSet ds = new DataSet();
            stiReport1.Load(Environment.CurrentDirectory + @"\Rpt_kala.mrt");
            stiReport1.RegData("ds.DT1", dt1);
            stiReport1.RegData("ds.DT2", dt2);
            stiReport1.Show();
توسط (252 امتیاز) 4 13 22
اگر یک View  طراحی کنید دیگه نیازی نیست که چند بار از RegData  استفاده کنید و بالطبع کدنویسی کمتر میشه
توسط (3,062 امتیاز) 1
میشه بفرمائید چطوری باید از view استفاده کرد
توسط (252 امتیاز) 4 13 22
سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,920 کاربر

دسته بندی ها

...