PDA

View Full Version : سوال: از انتخاب در آمدن چک باکس بعد از زدن دکمه حذف



alijavadi123
یک شنبه 22 اسفند 1395, 11:30 صبح
با سلام حسته نباشید من یه گرید ویو دارم که یه چک باکس هم داره که بیاد و id اون ردیف رو پیثدا کنه و اگه هر کدوم از چک باکس ها انتخاب شده باشه حذف میکنه



foreach (GridViewRow grow in GridView1.Rows)
{
//Searching CheckBox("chkDel") in an individual row of Grid
CheckBox chkdel = (CheckBox)grow.FindControl("chkDel");
//If CheckBox is checked than delete the record with particular empid

if (chkdel.Checked)
{
int empid = Convert.ToInt32(grow.Cells[1].Text);
dd.tbl_matalab_delete(empid);
GridView1.DataBind();
}


اما وقتی یکی از چک باکس ها رو انتخاب میکنم و دکمه حذف رو میزنم انگار اصلا چک باکسی انخاب نکردم و قتی دکمه رو میزنم از انتخاب در میاد مشکل اینه که هیچ چک باکسی انتخاب نمیشه نتمیدونم از مرورگر یا از چیه(تو مرور گر های مختلف امتحان کردم) اما وقتی checed اون چک باکس رو از قبل میزارم بهtrue و وقتی دکمه حذف رو میزنم حذف میکنه!



<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4" DataKeyNames="Id" DataSourceID="SqlDataSource5">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="chkDel" runat="server" ClientIDMode="Static" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Id" HeaderText="Id" InsertVisible="False" ReadOnly="True" SortExpression="Id" />
<asp:BoundField DataField="subject" HeaderText="subject" SortExpression="subject" />
<asp:BoundField DataField="body" HeaderText="body" SortExpression="body" />
<asp:BoundField DataField="remainbody" HeaderText="remainbody" SortExpression="remainbody" />
<asp:BoundField DataField="postdate" HeaderText="postdate" SortExpression="postdate" />
<asp:BoundField DataField="imageurl" HeaderText="imageurl" SortExpression="imageurl" />
<asp:BoundField DataField="author" HeaderText="author" SortExpression="author" />
<asp:BoundField DataField="visitcount" HeaderText="visitcount" SortExpression="visitcount" />
<asp:BoundField DataField="keywords" HeaderText="keywords" SortExpression="keywords" />
<asp:BoundField DataField="catID" HeaderText="catID" SortExpression="catID" />
<asp:BoundField DataField="cname" HeaderText="cname" SortExpression="cname" />
</Columns>
<HeaderStyle BackColor="#663300" ForeColor="#ffffff" />
<RowStyle BackColor="#e7ceb6" />
</asp:GridView>



ممنون میشم کمک کنید

Mag-Mag
دوشنبه 23 اسفند 1395, 14:14 عصر
سلام
کدتون رو کامل بزارید
این کدتون که قاعدتا نباید مشکلی داشته باشه
جایی که foreach فراخونی میشه مهمه
در واقع نحوه فراخوانی عملیات

یا این نمونه کد (http://www.c-sharpcorner.com/UploadFile/1e050f/delete-records-from-gridview-using-checkbox-in-Asp-Net/) رو ببینید

alijavadi123
سه شنبه 24 اسفند 1395, 00:30 صبح
سلام حلقه تو دکمه حذفی که الان عکسشو میزارم فراخانی میشه
http://s8.picofile.com/file/8289429834/del.png

این هم کد دکمه حدف

protected void ImageButton3_Click(object sender, ImageClickEventArgs e)
{


foreach (GridViewRow grow in GridView1.Rows)
{
//Searching CheckBox("chkDel") in an individual row of Grid
CheckBox chkdel = (CheckBox)grow.FindControl("chkDel");
//If CheckBox is checked than delete the record with particular empid

if (chkdel.Checked)
{
int empid = Convert.ToInt32(grow.Cells[1].Text);
dd.tbl_matalab_delete(empid);
GridView1.DataBind();
}
}
MultiView1.SetActiveView(Delete);



GridView1.DataBind();

#region find
//for (int i = 0; i < GridView1.Rows.Count;i++ )
//{
// CheckBox chkfind = (CheckBox)GridView1.Rows[i].FindControl("antakhab");
// if (chkfind.Checked==true)
// {
// ViewState.Add("ID", GridView1.Rows[i].Cells[1].Text);


// }
// if (ViewState["ID"] != null)
// {
// dd.tbl_matalab_delete(Convert.ToInt32(ViewState["ID"]));
// }
//}
#endregion



}

Mag-Mag
سه شنبه 24 اسفند 1395, 10:20 صبح
ببین توی اون نمونه ای که برات گذاشتم
به نحوه

GridView1.DataBind();


خوب توجه کن
باید توی یک تابع
و در پیج لود به این شکل فراخونی بشه


if(!IsPostBack)
{
//Displaying the Data
showData();
}

alijavadi123
سه شنبه 24 اسفند 1395, 12:06 عصر
سلام مشکلم حل شد

if (!IsPostBack)
{
//Displaying the Data
GridView1.DataBind();
//Adding an Attribute to Server Control(i.e. btnDeleteRecord)
ImageButton3.Attributes.Add("onclick", "javascript:return DeleteConfirm()");
}


وقتی این کد رو تو پیج لود گذاشتم مشکل حل شد و عملر حذف به درستی انجام میشه خیلی ممنون