PDA

View Full Version : سوال: بایند کردن گریدوی



mohsen.nsb44
چهارشنبه 23 تیر 1395, 10:27 صبح
سلام
من یکسری اطلاعات رو داخل سیشن میریزم و اونو در گریدویو نمایش میدم
در صفحه محصولات یک گریدویو دارم و در صفحه مسترپیج یک گریدویو دیگر
مشکل اینجاست زمانی که اطلاعات محصول رو اضافه میکنم به گریدویو همون صفحه محصول اضافه میشه چون زیرش کد هام گریدویو رو بایند کردم اما گریدویو که در مسترپیج هست تا یکبار صفحه مجدد رفرش نشه اطلاعات رو نشون نمیده

کد زیر در صفحه محصولات



int i = 0;
string title = string.Empty;
title = ((Label)GridView1.Rows[0].FindControl("Label8")).Text;

string tedad = ((TextBox)GridView1.Rows[0].FindControl("textbox1")).Text;
string price = string.Empty;
price = ((Label)GridView1.Rows[0].FindControl("label1")).Text;
string priceKol = string.Empty;

if (Session["cart"] == null)
{
DataTable dt = new DataTable();

DataColumn dc1 = new DataColumn("ردیف");
DataColumn dc2 = new DataColumn("نام محصول");
DataColumn dc3 = new DataColumn("تعداد");
DataColumn dc4 = new DataColumn("قیمت");



dt.Columns.Add(dc1);
dt.Columns.Add(dc2);
dt.Columns.Add(dc3);
dt.Columns.Add(dc4);


dt.Rows.Add(new object[] { i, title, tedad, price });

Session["cart"] = dt;

GridView2.DataSource = dt;
GridView2.DataBind();
//for (int j = 0; j < GridView3.Rows.Count; j++)
//{
// GridView3.Rows[j].Cells[0].Text = (j + 1).ToString();
// GridView3.Rows[j].Cells[5].Text = ((long.Parse(GridView3.Rows[j].Cells[3].Text) * int.Parse(GridView3.Rows[j].Cells[2].Text)) - Int64.Parse(GridView3.Rows[j].Cells[4].Text)).ToString();
//}



for (int j = 0; j < GridView2.Rows.Count; j++)
{
GridView2.Rows[j].Cells[0].Text = (j + 1).ToString();

}
}


else
{
//for (int s = 0; s < GridView2.Rows.Count; s++)
//{
//if(title!=GridView2.Rows[s].Cells[1].Text)
//{

DataTable dtTemp = (DataTable)Session["cart"];
dtTemp.Rows.Add(new object[] { i, title, tedad, price });
Session["cart"] = dtTemp;


GridView2.DataSource = dtTemp;
GridView2.DataBind();
for (int t = 0; t < GridView2.Rows.Count; t++)
{
GridView2.Rows[t].Cells[0].Text = (t + 1).ToString();
}
//}
}



کد زیر در مسترپیج



DataTable dt = (DataTable)Session["cart"];

GridView1.DataSource = dt;
GridView1.DataBind();


for (int i = 0; i < GridView1.Rows.Count; i++)
{
GridView1.Rows[i].Cells[0].Text = (i + 1).ToString();
GridView1.DataBind();
}

mohsen.nsb44
چهارشنبه 23 تیر 1395, 10:45 صبح
و یه سوال دیگر اینکه چطور میتونم با کدی که نوشتم بجای اینکه دوباره روی یک محصولی که قبلا اضافه شده کلیک کرد بجای اضافه شدن در سطر جدید به تعداد ان اضافه شود؟