PDA

View Full Version : آرايه دو بعدي در session



kohyar
پنج شنبه 26 بهمن 1391, 07:48 صبح
سلام دوستانمن مي خوام تو يكي از سايت هام وقتي كاربر كالا رو ميبينه بتونه در صورت تمايل سفارش هم بدهخوب براي اينكار به يك سبد خريد نياز دارمواسه ايجاد سبد خريد نياز دارم تا يك آرايه دو ستوني و چند سطري را در داخل آرايه نگهداري كنمتا هر زمان كا كاربر كالايي رو سفارش ميده به اون آرايه داخل session اضافه بشهچطوري ميتونم اين كار رو انجام بدمكسي نمخونه كد دراه برام بزارهمرسي

fakhravari
پنج شنبه 26 بهمن 1391, 11:41 صبح
int[,] arrayInt3 = { { 2, 10, 5 }, { 400, 33, 7 } };

Session["arrayInt3"] = arrayInt3;

int[,] array = (int[,])(Session["arrayInt3"]);

kohyar
شنبه 28 بهمن 1391, 09:22 صبح
سلام دوست عزيز و ممنون از جوابتون
ببخشيد من از روش شما استفاده كردم ولي سه تا مشكل دارم
اول اينكه مي مي خوام آرايه دو بعدي تعريف كنم كه تعداد سطر نامحدود و تعداد ستون 2 باشه يكي براي كد كالا و يكي براي تعداد درخواستي مشتري
ولي هر جوري تعريفش ميكنم خطا ميگره يعني نميزاره تعداد سطر رو نامحدود بزارم
دوم اينكه با توجه به اينكه بايد آرايه در اجراي برنامه توسط كاربر مقداردهي بشه چطوري بايد ديتاي جديد رو به آرايه اي كه داخلش چند تا سطر اطلاعاتي داره اضافه كنم
مشكل سوم مربوط به نمايش محتويات آرايه هستش
اگر بخوام با دو حلقه For i , j محتويات داخل آرايه رو نمايش بدم براي كنترل كرانه هاي i و j از چه خصوصيت آرايه دو بعدي بايد استفاده كنم
ممنون ميشم اگر نمونه كدي داريد برام بزاريد چون سايت هاي زيادي رفتم ولي هر سايت يك طور خاصي توضيح ميده
مرسي

na3er-faraji
شنبه 28 بهمن 1391, 09:52 صبح
دوست عزیز میتونید از Dictionary استفاده کنید. دو ستون key و value داره که کاملا کار شما رو راه میندازه.
موفق باشید.

kohyar
سه شنبه 01 اسفند 1391, 17:17 عصر
سلام دوستانمن تونستم اين سبد رو ايجاد بكنمكدش رو هم ميزارم تا دوستاني كه مي خوان استفاده كنندالبته خيلي ساده كه دو تا تكست باكس دارهيكي كد كالا و يكي تعدادوقتي كاربر دكمه افزودن به سبد رو انتخاب ميكنه تو session اضافه ميكنهفقط يك مشكلي دارم اونم با تعريف آرايه دو بعدي هستش كه تعداد سطرش نامحدود باشه و تعداد ستونش 2 باشهتو اين مثال مجبور شدم تعداد سطر رو 20 در نظر بگيرم و چك كنم اگر ستون اول هر سطر مقدار صفر داشت بگم اون سطر هنوز خالي هستشكسي ميدونه چطوري ميتون آرايه به تعداد سطر نامحدود و تعداد ستون 2 تعريف كنممرسيprotected void Button1_Click(object sender, EventArgs e) { if (Session["goods"]==null) { int[,] goodsarray = new int[10,2]; goodsarray.SetValue(Convert.ToInt32(TextBox1.Text) , 0, 0); goodsarray.SetValue(Convert.ToInt32(TextBox2.Text) , 0, 1); Session["goods"] = goodsarray; int[,] array = (int[,])(Session["goods"]); int rowcount = Convert.ToInt32(array.GetLength(0).ToString()); int colcount = Convert.ToInt32(array.GetLength(1).ToString()); for (int i = 0; i < rowcount; i++) { for (int j = 0; j < colcount; j++) { Response.Write(array[i, j]); Response.Write(" "); } Response.Write("
"); } } else { int[,] array = (int[,])(Session["goods"]); int rowcount = Convert.ToInt32(array.GetLength(0).ToString()); int startindex = 0; for (int i = 0; i < rowcount; i++) { if (array[i,0]>0) { startindex = startindex + 1; } } array.SetValue(Convert.ToInt32(TextBox1.Text), startindex, 0); array.SetValue(Convert.ToInt32(TextBox2.Text), startindex, 1); rowcount = Convert.ToInt32(array.GetLength(0).ToString()); int colcount = Convert.ToInt32(array.GetLength(1).ToString()); for (int i = 0; i < rowcount; i++) { for (int j = 0; j < colcount; j++) { Response.Write(array[i, j]); Response.Write(" "); } Response.Write("
"); } } }

meisam3322
سه شنبه 01 اسفند 1391, 18:28 عصر
دسوت عزیز میتونی خیلی راحت چک کنی که اگه تعداد سفارش های کاربری از 20 بیشتر بود تمام مقادیر ارایه به ارایه جدیدی با مثلا 40 سلول منتقل بشه. این که دیگه مشکلی نیست !!!!!!