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

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

کاربر سایت

عطایی

عضویت از 1392/05/14

gridview

  • سه شنبه 14 مرداد 1393
  • 12:43
تشکر میکنم

سلام

من یه گیرید ویو دارم که در زمان فرم لود پر میشه

اما مشکل اینجاست وقتی روی دکمه edit delete کلیک میکنم هیچ اتفاقی نمیفته

چیکار باید کرد؟

مرسی

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

تعداد پاسخ ها : 3 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • سه شنبه 14 مرداد 1393
  • 12:44

کدها رو ضمیمه کن ببینیم مشکل کجاست

کاربر سایت

عطایی

عضویت از 1392/05/14

  • سه شنبه 14 مرداد 1393
  • 13:00
   protected void Page_Load(object sender, EventArgs e)
        {
           // GridView4.Visible = false;
            int code = Convert.ToInt32(Session["code"]);
            var pubname = (from o in pub.p_publication
                           where o.code == code
                           select o).First();
            Label2.Text = pubname.name;
            /* Verifies that the control is rendered */

            var data = (from o in pub.p_Subscribe
                        join i in pub.P_Ostan on o.SubOstan equals i.ID into a_lg
                        from i in a_lg.DefaultIfEmpty()

                        join f in pub.p_publication on o.SubPubliccode equals f.code
                        where o.SubPubliccode == code
                        select new
                        {
                            o.SubKey,
                            o.SubCode,
                            o.SubNationalCode,
                            o.SubFam,
                            o.SubPhone,
                            o.SubOstan,
                            o.SubCity,
                            o.SubTerm,
                            o.SubStatus,
                            i.Ostan,

                        }).ToList();

            GridView1.DataSource = data;
            GridView1.DataBind();
        }
        

 

 

 

 

 

  protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            switch (e.CommandName)
            {
                case "DoEdit":
                    {
                        int ID = int.Parse(e.CommandArgument.ToString());
                        var p = (from u in pub.p_Subscribe

                                 where u.SubKey == ID
                                 select u).First();
                     
                        TextBox25.Text = p.SubBank;
                        TextBox26.Text = p.SubText;
                        RadioButtonList1.SelectedValue = p.SubEshterak.ToString();



                        TextBox1.Text = p.SubEmail;
                        TextBox2.Text = p.SubMobile;
                        TextBox3.Text = p.SubPhone;
                        DropDownList1.SelectedValue = p.SubEducationID.ToString();
                        DropDownList2.SelectedValue=p.SubGender.ToString();
                        DropDownList4.SelectedValue=p.SubOstan.ToString();
                       DropDownList5.SelectedValue = p.SubCity.ToString();
                        DropDownList3.SelectedValue=p.CourierID.ToString();
                        RadioButtonList1.SelectedValue=p.SubStatus.ToString();
                        TextBox4.Text=p.SubPostalCode;
                        TextBox5.Text=p.Subline.ToString();
                        TextBox6.Text=p.SubAddress;
                        
                        TextBox8.Text=p.SubTerm.ToString();
                        TextBox9.Text=p.SubStartSend;
                        TextBox10.Text=p.SubShareDate;
                        TextBox11.Text=p.SubDateBirth;
                        TextBox12.Text=p.SubFather;
                        TextBox13.Text=p.SubFam;
                        TextBox14.Text=p.SubName;
                        TextBox15.Text=p.SubNationalCode;
                        TextBox16.Text=p.SubCode.ToString();
                        TextBox17.Text=p.Mainstreet;
                        TextBox18.Text = p.FirstNumber;
                        TextBox19.Text=p.LastNumber;
                        TextBox20.Text=p.FishNumber;
                        TextBox23.Text = p.FishDate;
                        TextBox24.Text = p.FishCost;

                        ViewState["ID"] = ID;
                        pub.SaveChanges();
                        GridView1.DataBind();
                       // GridView2.DataBind();
                        Label4.Visible = false;
                        break;
                    }
                case "DoDelete":
                    {
                        int ID = int.Parse(e.CommandArgument.ToString());
                        var p1 = pub.p_Subscribe.First(o => o.SubKey == ID);

                       pub.p_Subscribe.DeleteObject(p1); 
                        pub.SaveChanges(); 
                        GridView1.DataBind();
                       // GridView2.DataBind();
                        Label4.Visible = false;
                        break;
                    }

                 
            }
        }
کاربر سایت

امیرباقری

عضویت از 1393/05/13

  • چهارشنبه 15 مرداد 1393
  • 02:01

int ID = int.Parse(e.CommandArgument.ToString())

این خط از برنامه شما ای دی مربوط به سطر انتخاب شده  را بیرون میکشه نه ای دی رکورد . شما باید از ای دی رکورد استفاده کنید . برای بیرون آوردن ای دی رگورد را در گیرید bound  کنید سپس از کد زیر بیرون کشیده و query  بگیرید یعنی بجایی ای دی اول از ادی رکورد که با دستور زیر به دست میاد در query  استفاده کنید.

gridview1.rows[id].cell[0].text و فراموش نکنید حتما convert.toint32  را انجام دهید . امیدوارم مفید بوده باشه.

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

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

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

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