
نوشته شده توسط
moeinih
من از یه تابعی بنام fillreport که رشته پرس و جوی مورد نظر و نام کانکشن رو میگیره برای پرکردن گزارشم تو استیمول استفاده می کنم میخوام توی یک گزارش فیلدهای دو تا جدول مختلف که هیچ ارتباطی (یعنی هیچ فیلد مشترکی ) باهم ندارند رو بذارم چطوری میتونم اینکارو بکنم وقتی دو بار از تابع fillreport استفاده میکنم خروجی آخرین تابع تو گزارش میاد لطفا کمکم کنید
ببنید شما باید در برنامه 2 تا جدول درست کنید
public DataTable CatGory_List1()
{
SqlConnection con = new SqlConnection(@"Data Source=COMPUTER1\SQLEXPRESS;Initial Catalog=ss;Integrated Security=True");
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "SELECT id, CatName FROM CatGory";
con.Open();
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
con.Close();
return dt;
}
public DataTable Furom_List2()
{
SqlConnection con = new SqlConnection(@"Data Source=COMPUTER1\SQLEXPRESS;Initial Catalog=ss;Integrated Security=True");
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "SELECT id, listname, CatGoryid, date FROM Furom";
con.Open();
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
con.Close();
return dt;
}
public DataTable posting_List3()
{
SqlConnection con = new SqlConnection(@"Data Source=COMPUTER1\SQLEXPRESS;Initial Catalog=ss;Integrated Security=True");
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "SELECT Furomid, id, text1, text2 FROM posting";
con.Open();
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
con.Close();
return dt;
}
protected void Page_Load(object sender, EventArgs e)
{
DataTable dt1 = new DataTable("cat");
DataTable dt2 = new DataTable("froum");
DataTable dt3 = new DataTable("posting");
dt1 = CatGory_List1();
dt2 = Furom_List2();
dt3 = posting_List3();
StiReport r = new StiReport();
r.Load(Server.MapPath(@"Report.mrt"));
r.RegData("cat", dt1);
r.RegData("posting", dt3);
r.RegData("froum", dt2);
StiWebViewer1.Report = r;
StiWebViewer1.DataBind();
}