PDA

View Full Version : سوال: حذف سطر انتخاب شده از datagridview



titipop1
یک شنبه 20 اردیبهشت 1394, 13:12 عصر
درود
دوستان میخوام با کلیک بروی سطر و انتخاب اون سطر (رنگی شدن) از گرید و سپس زدن دکمه (داخل گرید) اون سطر حذف بشه
کد من که ارور نمیده ولی چیزی هم حذف نمی کنه :

noth50
شنبه 21 شهریور 1394, 17:49 عصر
برای رنگی تغییر رنگ هر ردیف در زمان کلیک بر روی آن میتونی از کد زیر استفاده کنید
html

<asp:GridView AutoGenerateColumns="False" ID="GridView1" runat="server" CssClass="GridViewStyle"
OnRowDataBound="GridView1_OnRowDataBound">
.
.
.


c#

protected void GridView1_OnRowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
Label LabelType = (e.Row.FindControl("LabelType") as Label);
string Statuse = LabelType.Text;
if (Statuse == "Credit return" || Statuse == "Payment")
{
e.Row.Attributes.Add("onClick", "this.style.backgroundColor='#FFF'");
e.Row.BackColor = Color.FromName("#DFFFDE");
}
if (Statuse == "Cost deduction")
{
e.Row.Attributes.Add("onClick", "this.style.backgroundColor='#FFF'");
e.Row.BackColor = Color.FromName("#FFD2D2");
}
}
}


2- برای حذف یک رکورد هم میتونی از نمونه زیر استفاده کنی


protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
dt.Rows.RemoveAt(e.RowIndex);
GridView1.DataSource = dt;
GridView1.DataBind();
}


یا



protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
GridViewRow row = (GridViewRow)GridView1.Rows[e.RowIndex];
GridView1.DataBind();
}



یا

protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
int index = Convert.ToInt32(e.RowIndex);
DataTable dt = ViewState["dt"] as DataTable;
dt.Rows[index].Delete();
ViewState["dt"] = dt;
GridView1.DataSource = dt;
GridView1.DataBind();

}