Saman Ice
جمعه 05 خرداد 1391, 21:37 عصر
سلام
من میخوام با استفاده از چک باکسی که به گرید ویو اضافه کردم چند رکورد رو انتخاب کنم و اعمال همچون حذف و اضافه کردن(فقط یه ستون رو به جدول دیگه) انجام بدم
با کلی جستجو تونستم به کد زیر برسم
protected void Button1_Click(object sender, EventArgs e)
{
foreach (GridViewRow row in GridView1.Rows)
{
CheckBox cb = (CheckBox)row.FindControl("checkbox");
if (cb != null && cb.Checked)
{
conn.Open();
string id = (GridView1.DataKeys[row.RowIndex]["id"].ToString());
SqlCommand cmd = new SqlCommand("delete from lesson where id=" + id, conn);
cmd.ExecuteNonQuery();
DataBind();
}
}
}
protected void BindData()
{
SqlDataAdapter da = new SqlDataAdapter("select * from lesson", conn);
DataSet ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
conn.Close();
}
ولی این کد در خط
string id = (GridView1.DataKeys[row.RowIndex]["id"].ToString());
خطای زیر رو میده
Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
لطفا کمکم کنید چطوری چنتا رکورد رو با چک باکس انتخاب کنم و اونارو حذف یا به جدول دیگه اضافه کنم
ممنون
من میخوام با استفاده از چک باکسی که به گرید ویو اضافه کردم چند رکورد رو انتخاب کنم و اعمال همچون حذف و اضافه کردن(فقط یه ستون رو به جدول دیگه) انجام بدم
با کلی جستجو تونستم به کد زیر برسم
protected void Button1_Click(object sender, EventArgs e)
{
foreach (GridViewRow row in GridView1.Rows)
{
CheckBox cb = (CheckBox)row.FindControl("checkbox");
if (cb != null && cb.Checked)
{
conn.Open();
string id = (GridView1.DataKeys[row.RowIndex]["id"].ToString());
SqlCommand cmd = new SqlCommand("delete from lesson where id=" + id, conn);
cmd.ExecuteNonQuery();
DataBind();
}
}
}
protected void BindData()
{
SqlDataAdapter da = new SqlDataAdapter("select * from lesson", conn);
DataSet ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
conn.Close();
}
ولی این کد در خط
string id = (GridView1.DataKeys[row.RowIndex]["id"].ToString());
خطای زیر رو میده
Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
لطفا کمکم کنید چطوری چنتا رکورد رو با چک باکس انتخاب کنم و اونارو حذف یا به جدول دیگه اضافه کنم
ممنون