مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

nsb

عضویت از 1393/03/24

مشکل در دسترسی به محتویات گریدویو

  • شنبه 18 بهمن 1393
  • 12:39
تشکر میکنم

سلام

من از طریق کد زیر اطلاعات رو از طریق دیتاتیبل و سیشن داخل گریدویو میریزم

میخوام اطلاعات اونو در بانک ذخیره کنم اما خطای زیر داده میشه

Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index

 

از کد زیر استفاده کردم

 int i = 0;
            string title = string.Empty;
            title = GridView1.Rows[0].Cells[0].Text.ToString();
            string body = txtCount.Text;
            long price=long.Parse( GridView1.Rows[0].Cells[4].Text);
            string priceKol =string.Empty;
            string cod = txtCode.Text;

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

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

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

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

                Session["dt"] = dt;

                GridView3.DataSource = dt;
                GridView3.DataBind();
                for (int j = 0; j < GridView3.Rows.Count; j++)
                {
                    GridView3.Rows[j].Cells[0].Text = (j + 1).ToString();
                    GridView3.Rows[j].Cells[4].Text = (long.Parse(GridView3.Rows[j].Cells[3].Text) * int.Parse(GridView3.Rows[j].Cells[2].Text)).ToString();
                }
            }
            else
            {
                DataTable dtTemp = (DataTable)Session["dt"];
                dtTemp.Rows.Add(new object[] { i, title, body,price,priceKol,cod });
                Session["dt"] = dtTemp;

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

 

 

حال برای ذخیره از کد زیر استفاده کردم

for (int i = 0; i < GridView3.Rows.Count; i++)
              {
       

                    //SqlConnection con2 = new SqlConnection();
                    //con2.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["cn"].ConnectionString;
                    //SqlCommand cmd2 = new SqlCommand("Sp", con2);
                    //cmd2.CommandType = CommandType.StoredProcedure;
   cmd2.Parameters.AddWithValue("@CodeM",long.Parse( GridView3.Rows[i].Cells[5].Text));              }

 

پاسخ های این پرسش

تعداد پاسخ ها : 0 پاسخ
در حال حاضر هیچ پاسخی ارسال نشده است
کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)