merlin_vista
شنبه 05 آبان 1386, 21:21 عصر
آقا من یک گرید ویو دارم که در یکی از ستون های آن از لیبل استفاده کردم و مقدار Yes و No را نمایش میدهد و در حالت Edit آن نیز یک DropDroenList گزاشتم که کاربر بتونه این مقدار را عوض کنه !! حالا وقتی میخواهم Update کنم این پیغام را میدهد ، لازم به ذکر است که برای 1 سطر مشکلی ندارم و برای 2 یا چند سطر مشکل دارد ؛ در ضمن گرید ویو من در یک Update Panel وجود دارد !!
کد دکمه آپدیت :
string txtchek;
protected void GVnazar_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
try
{
foreach (GridViewRow i in GVnazar.Rows)
{
DropDownList DDLchek = (DropDownList)i.FindControl("DropDownList1");
txtchek = DDLchek.SelectedItem.Text;
}
string strUpdate = "UPDATE nazar SET chek=@chek WHERE id = @id";
SqlCommand mySqlCmd = new SqlCommand(strUpdate, con);
mySqlCmd.Parameters.AddWithValue("@id", GVnazar.DataKeys[e.RowIndex].Value);
mySqlCmd.Parameters.AddWithValue("@chek", this.txtchek.ToString());
con.Open();
mySqlCmd.ExecuteNonQuery();
con.Close();
this.GVnazar.EditIndex = -1;
GVboind();
}
catch (SqlException x)
{
this.lblsqleror.Visible = true;
this.lblsqleror.Text = x.Message.ToString().Trim();
return;
}
}
خطایی که میدهد :
Object reference not set to an instance of an object.
و محل خطا :
txtchek = DDLchek.SelectedItem.Text;
کد دکمه آپدیت :
string txtchek;
protected void GVnazar_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
try
{
foreach (GridViewRow i in GVnazar.Rows)
{
DropDownList DDLchek = (DropDownList)i.FindControl("DropDownList1");
txtchek = DDLchek.SelectedItem.Text;
}
string strUpdate = "UPDATE nazar SET chek=@chek WHERE id = @id";
SqlCommand mySqlCmd = new SqlCommand(strUpdate, con);
mySqlCmd.Parameters.AddWithValue("@id", GVnazar.DataKeys[e.RowIndex].Value);
mySqlCmd.Parameters.AddWithValue("@chek", this.txtchek.ToString());
con.Open();
mySqlCmd.ExecuteNonQuery();
con.Close();
this.GVnazar.EditIndex = -1;
GVboind();
}
catch (SqlException x)
{
this.lblsqleror.Visible = true;
this.lblsqleror.Text = x.Message.ToString().Trim();
return;
}
}
خطایی که میدهد :
Object reference not set to an instance of an object.
و محل خطا :
txtchek = DDLchek.SelectedItem.Text;