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

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

کاربر سایت

ahmadreza123

عضویت از 1394/04/18

ویرایش CheckBox در GridView

  • دوشنبه 17 خرداد 1395
  • 16:30
تشکر میکنم

سلام

برای ویرایش چک باکس از چه دستوری باید استفاده کنم؟

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

string cod = ((TextBox)GridView1.Rows[e.RowIndex].Cells[1].Controls[0]).Text;

متشکرم

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

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

ahmadreza123

عضویت از 1394/04/18

  • سه شنبه 18 خرداد 1395
  • 11:38

 سلام مهندس

ممنون از جوابتون

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

خب حالا کاربر وقتی در ویرایش کلیک کرد درصورتی که چک باکس را تغییر داد موقع ذخیره تغییرات چک باکس را هم اعمال کنه

کد های که نوشتم

protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        int id= Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value.ToString());
        string asm = ((TextBox)GridView1.Rows[e.RowIndex].Cells[0].Controls[0]).Text;
        string cod = ((TextBox)GridView1.Rows[e.RowIndex].Cells[1].Controls[0]).Text;
        string update = "UPDATE tblTest2 SET asm = '" + asm +
        "', cod = '" + cod + "' WHERE id = '" + id + "';";
        SqlCommand command = new SqlCommand(update,Lib.con);
		Lib.con.Open();
		command.ExecuteNonQuery();
		Lib.con.Close();
		GridView1.EditIndex = -1;
        BindGV1();

    }

متشکرم

کاربر سایت

ایمان مدائنی

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

  • سه شنبه 18 خرداد 1395
  • 11:42

مشکل کجاست

مانند دستورات نام و کد مقدار CheckBox ها را نیز بگیرید

به جای Text از Value استفاده کنید

کاربر سایت

ahmadreza123

عضویت از 1394/04/18

  • سه شنبه 18 خرداد 1395
  • 12:02

انجام دادم ولی خطا داره!!

ممنون اگه کدش را برام بنویسید

کاربر سایت

ahmadreza123

عضویت از 1394/04/18

  • سه شنبه 18 خرداد 1395
  • 12:36

سلام

شرمنده منتظر جواب شما هستم

کاربر سایت

ایمان مدائنی

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

  • سه شنبه 18 خرداد 1395
  • 12:44
bool isChecked = (GridView1.Rows[0].Cells[2].Controls[0] as CheckBox).Checked;

 

کاربر سایت

ahmadreza123

عضویت از 1394/04/18

  • سه شنبه 18 خرداد 1395
  • 12:55

این خطارا داره!!!

کاربر سایت

ایمان مدائنی

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

  • سه شنبه 18 خرداد 1395
  • 13:02

عزیز عینا کپی نکنید باید شماره سلول را تغییر دهید

Cell را روی 4 بزارید

کاربر سایت

ahmadreza123

عضویت از 1394/04/18

  • سه شنبه 18 خرداد 1395
  • 13:10

شماره سلول همان ۲ صحیح هست اما با این حال تغییر دادم ولی قبول نکرد

bool isChecked = (GridView1.Rows[e.RowIndex].Cells[0].Controls[2] as CheckBox).Checked;

تغییراتی که دادم

تفاوت این دو کد چیه؟

string cod = ((TextBox)GridView1.Rows[e.RowIndex].Cells[1].Controls[0]).Text;

و

string cod = (GridView1.Rows[e.RowIndex].Cells[0].Controls[1] as TextBox).Text;

چرا که در کد اول جواب می دهد ولی برای دومی خطا داره

ونحوه دستورات شما نیز از نوع دوم هست 

کاربر سایت

ایمان مدائنی

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

  • سه شنبه 18 خرداد 1395
  • 13:12

دوست من الان Cell روی 0 هست با چیزی که من در تصویر میبینم 0 نام است

کاربر سایت

ahmadreza123

عضویت از 1394/04/18

  • سه شنبه 18 خرداد 1395
  • 13:18

تفاوت این دو کد چیه؟

1
string cod = ((TextBox)GridView1.Rows[e.RowIndex].Cells[1].Controls[0]).Text;

و

1
string cod = (GridView1.Rows[e.RowIndex].Cells[0].Controls[1] as TextBox).Text;

چرا که در کد اول جواب می دهد ولی برای دومی خطا داره

ونحوه دستورات شما نیز از نوع دوم هست 

کاربر سایت

ahmadreza123

عضویت از 1394/04/18

  • سه شنبه 18 خرداد 1395
  • 13:30

مهندس دمت گرم حل شد

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

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

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

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