View Full Version : سوال: خروچی روی گریدویو از دو جدول با یک فیلد مشترک
asp2.net
دوشنبه 18 خرداد 1394, 14:58 عصر
با سلام و خسته نباشی من دوتا جدول دارم به اسم t1 , t2
در جدول t1 سه تا فیلد به اسم id , name ,fname که id یونیک هست
در جدول t2 سه تا فیلد به اسم id , x2,x3
حالا میخواهم در گرید ویو چهار ستون داشته باشم به ترتیب id , name ,fname و ستون چهارم و پنجم یک گریدویو دیگری باشد که متانظر با id مربوطه جدول t2 فیلد های x1 , x2 را نشون بده.. مانند نمونه
132056
asp2.net
سه شنبه 19 خرداد 1394, 07:24 صبح
سلام کسی نتونست کمک کنه؟؟؟؟؟؟؟/
nahidmoh
سه شنبه 19 خرداد 1394, 08:23 صبح
سلام الان کد t-sql رو می خوای ؟؟؟
asp2.net
سه شنبه 19 خرداد 1394, 08:29 صبح
یاسلام خب اگه کد t-sql همچین خروجی داشته باشه اره، ولی فکر نمیکنم..... ممنون میشم این کد را بزاری
nahidmoh
سه شنبه 19 خرداد 1394, 09:16 صبح
فرض می کنیم grd گرید ویو اصلی و grd1 گرید ویو داخلی باشد :
کد مربوط به grd :
SqlConnection con = newSqlConnection("...");
DataSet ds = newDataSet();
SqlDataAdapter da = newSqlDataAdapter("Select id,name,fname from t1",con);
con.Open();
da.Fill(ds);
con.Close();
grd.DataSource = ds;
grd.DataBind();
کد مربوط به grd1 : این کد باید در رویداد RowDataBound مربوط به grd نوشته شود مطابق کد :
protectedvoid grd_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
GridView grd1 = (GridView)e.Row.FindControl("grd1");
int id = int.Parse(grd.DataKeys[e.Row.RowIndex].Value.ToString());
SqlConnection con = newSqlConnection("...");
DataSet ds = newDataSet();
SqlDataAdapter da = newSqlDataAdapter("Select x,y from t2,t1 where t1.id=t2.id", con);
con.Open();
da.Fill(ds);
con.Close();
grd1.DataSource = ds;
grd1.DataBind();
}
}
nahidmoh
سه شنبه 19 خرداد 1394, 09:24 صبح
فقط در کد بالا دقت کنید که در هنگام بایند شدن grd باید DataKeyNames="id" قرار دهید
asp2.net
سه شنبه 19 خرداد 1394, 10:01 صبح
با سلام روی این کد e.Row.RowType و "(e.Row.FindControl("grd1 و ()e.Row.RowIndex).Value.ToString
خطا میگیره
nahidmoh
سه شنبه 19 خرداد 1394, 10:09 صبح
کد html و کد اصلی رو بزارید .لطفا
monadifard
سه شنبه 19 خرداد 1394, 11:43 صبح
var query = from r in objEntities.t1 join q in objEntities.t2 on r.id equals q.id select new
{
اسامی فیلدهایی که میخوای بکشی بیرون
};
GridView1.DataSource = query;
GridView1.DataBind();
}
کار کردن با دستورات linq به نظر من خیلی بهتره
xsbehx
چهارشنبه 20 خرداد 1394, 00:13 صبح
خوب چرا join نمی کنید این دوتا جدول رو بعد خروجیش و تو یک گرید ویو نمایش بدید؟
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.