PDA

View Full Version : سوال: حذف سطر گرید ویوو



yones.kz
یک شنبه 28 خرداد 1391, 13:48 عصر
سلام
میخواستم بدونم یک گریدویوو که اطلاعاتشو مثلا از یک گریدویوو دیگه یا یک تکست باکس میگیره نه از بانک. و من بخوام یک سطرشو حذف کنم میشه یا نه؟
به چه روشی؟

crazy_1892
یک شنبه 28 خرداد 1391, 14:03 عصر
GridView1.DeleteRow(index of);

yones.kz
یک شنبه 28 خرداد 1391, 19:56 عصر
من این سوال رو بارها پرسیدم ولی کسی اون جوابی که میخواستم رو نداد تا ایکه خودم همت کردم نوشتم


protected void gv_applyev_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
//gv_applyev.DeleteRow(e.RowIndex);
DataTable dt = new DataTable();
dt.Columns.Add("lsgroup", System.Type.GetType("System.String"));
dt.Columns.Add("lsname", System.Type.GetType("System.String"));
dt.Columns.Add("pname", System.Type.GetType("System.String"));
dt.Columns.Add("lsunits", System.Type.GetType("System.String"));
//}
foreach (GridViewRow row in gv_applyev.Rows)
{
if (row.RowIndex != e.RowIndex)
{
Label lbllsname = (Label)row.FindControl("lbllsname");
Label lbllsgroup = (Label)row.FindControl("lbllsgroup");
Label lblpname = (Label)row.FindControl("lblpname");
Label lblsunits = (Label)row.FindControl("lbllsunits");
dt.Rows.Add();
dt.Rows[dt.Rows.Count - 1]["lsgroup"] = lbllsgroup.Text;
dt.Rows[dt.Rows.Count - 1]["lsname"] = lbllsname.Text;
dt.Rows[dt.Rows.Count - 1]["pname"] = lblpname.Text;
dt.Rows[dt.Rows.Count - 1]["lsunits"] = lblsunits.Text;
dt.AcceptChanges();

}
}
gv_applyev.DataSource = dt;
gv_applyev.DataBind();
}


دوستان نظر بدن شاید کارم صحیح نبوده
به هرحال جواب کارمو گرفتم

shahrzad87
دوشنبه 29 خرداد 1391, 08:35 صبح
اگر یکی از ستون های گرید ویو کار حدف رو انجام می ده، یک روش دیگه هم هست، که اطلاعات رو اول توی dataTable ذخیره کنید و به گرید بایند کنید، به ستون گرید که می خواین کار حذف رو انجام بده RowCommand بدید مثلا deleteCol و بعدش توی event -> RowCommand گرید ویو اول اون سطر رو از dataTable حذف کنید و بعد دوباره به گرید بایندش کنید، کدش اینطور می شه :



Public Static DataTable dt = new DataTable

//جایی که به گرید مقدار می دین
if (dt.Columns.Count == 0)
{
dt.Columns.Add("number");
dt.Columns.Add("name");
}
dt.Rows.Add(txtNumber.Text , txtName.Text);
GV.DataSource = dt;
GV.DataBind();

protected void GV_RowCommand(object sender, GridViewCommandEventArgs e)
{
int index = Convert.ToInt32(e.CommandArgument);
if (e.CommandName == "deleteCol")
{
dt.Rows.Remove(dt.Rows[index]);
GV.DataSource = dt;
GV.DataBind();
}
}

yones.kz
دوشنبه 29 خرداد 1391, 13:40 عصر
ممنون که راهنمایی کردید ولی خیلی دیر
کدی که خودم نوشتم جواب کارمو خیلی خوب داد و برا منم خیلی با ارزشه چون خودم نوشتم.
بازم ممنون shahrzad جان:چشمک: