ویرایش(یا حذف) سطرهای انتخاب شده توسط کاربر در گریدویو(gridview)

بی مقدمه شروع میکنیم.

توی item template گرید یه چک باکس بذارین. برای انتخاب هر سطر:

<asp:CheckBox ID="chkBxSelect" runat="server" Text='title'/>


برای داشتن یه دکمه یا چک باکس که با انتخابش همه سطر های گریدویو انتخاب بشن، باید این کد رو توی هد بنویسید:

<script>
function SelectAllCheckboxesGridView1(chk) {
$('#<%=GridView1.ClientID %>').find("input:checkbox").each (function () { if (this != chk) {
this.checked = chk.checked;
}
});
}
</script>

بعد برای مثال یه چک باکس میذاریم زیر گرید ک با کلیک روش همه انتخاب بشن. میتونه دکمه هم باشه.

<asp:CheckBox ID="CheckBox1" runat="server" onclick="javascript: SelectAllCheckboxesGridView1(this);" Text="select" />

با انتخاب این چک باکس همه سطر ها انتخاب میشن. البته باید jquery min رو هم به هد اضافه کنید.
حالا فرض کنید میخواهیم یه دکمه داشته باشیم که با کلیک روش یه اتفاقی برای سطرهای انتخاب شده بیفته. برای مثال، من تاریخ سطر ها رو آپدیت میکنم.
توی کلیک دکمه مینویسیم:

protected void Button1_Click(object sender, EventArgs e)
{
CheckBox chkAdd;
int rowCount;
rowCount = GridView1.Rows.Count;
int i;
for (i = 0; i <= (rowCount - 1); i++)
{
chkAdd = (CheckBox)GridView1.Rows[i].FindControl("chkBxSelect");
int ID = int.Parse(GridView1.DataKeys[i].Value.ToString());
if (chkAdd.Checked == true)
{
//محل کد شما
}
}
}

 

خسته نباشید.

/ 0 نظر / 199 بازدید