.net開(kāi)發(fā)中批量刪除記錄時(shí)實(shí)現(xiàn)全選功能的具體方法
1 . JS實(shí)現(xiàn)全選
往頁(yè)面上拖一個(gè)GridView,設(shè)置好數(shù)據(jù)源,并為GridView添加一個(gè)模板列,往模板列里添加一個(gè)chekcbox,比如下面的代碼
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="ProductID"
DataSourceID="SqlDataSource1">
<Columns>
<asp:BoundField DataField="ProductID" HeaderText="ProductID" InsertVisible="False"
ReadOnly="True" SortExpression="ProductID" />
<asp:BoundField DataField="ProductName" HeaderText="ProductName" SortExpression="ProductName" />
<asp:BoundField DataField="SupplierID" HeaderText="SupplierID" SortExpression="SupplierID" />
<asp:BoundField DataField="CategoryID" HeaderText="CategoryID" SortExpression="CategoryID" />
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="chk_Del" runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
//接下來(lái)往頁(yè)面上添加一個(gè)checkbox控件
<asp:CheckBox ID="chk_JS" runat="server" Text="全選(JS)" onclick="selectAll(this)"/>
//并為該控件編寫JS腳本如下:
<script type="text/javascript">
//根據(jù)傳入的checkbox的選中狀態(tài)設(shè)置所有checkbox的選中狀態(tài)
function selectAll(obj)
{
var allInput = document.getElementsByTagName("input");
//alert(allInput.length);
var loopTime = allInput.length;
for(i = 0;i < loopTime;i++)
{
//alert(allInput[i].type);
if(allInput[i].type == "checkbox")
{
allInput[i].checked = obj.checked;
}
}
}
</script>
//基本效果就有了,接下來(lái)我們?cè)邳c(diǎn)綴一下。在網(wǎng)頁(yè)中添加一個(gè)button
<asp:Button ID="btn_DeleteRecords" runat="server" OnClientClick="return judgeSelect();" Text="刪除選中記錄" />
//添加JS腳本
//判斷是否選中記錄,用戶確認(rèn)刪除
function judgeSelect()
{
var result = false;
var allInput = document.getElementsByTagName("input");
var loopTime = allInput.length;
for(i = 0;i < loopTime;i++)
{
if(allInput[i].checked)
{
result = true;
break;
}
}
if(!result)
{
alert("請(qǐng)先選則要?jiǎng)h除的記錄!");
return result;
}
result = confirm("你確認(rèn)要?jiǎng)h除選定的記錄嗎?");
return result;
}
2通過(guò)服務(wù)器端代碼實(shí)現(xiàn)全選
.net開(kāi)發(fā)中批量刪除記錄時(shí)如何實(shí)現(xiàn)全選功能
向頁(yè)面同添加一個(gè)CheckBox并將AutoPostBack屬性設(shè)置成true,并為它添加CheckedChanged事件
<asp:CheckBox ID="chk_Server" runat="server" OnCheckedChanged="chk_Server_CheckedChanged" Text="全選(Server)" AutoPostBack="True" />
事件代碼如下
int a = this.GridView1.Rows.Count;
for (int i = 0; i < a; i++)
{
CheckBox chk = (CheckBox)this.GridView1.Rows[i].FindControl("chk_Del");
chk.Checked = this.chk_Server.Checked;
}
相關(guān)文章
簡(jiǎn)單使用BackgroundWorker創(chuàng)建多個(gè)線程的教程
簡(jiǎn)單使用BackgroundWorker創(chuàng)建多個(gè)線程的教程,需要的朋友可以參考一下2013-03-03ASP.NET中UpdatePanel與jQuery同時(shí)使用所遇問(wèn)題解決
在.NET中使用了UpdatePanel,里面的輸入框使用了jQuery的日歷選擇器,接下來(lái)介紹下兩者同時(shí)使用的一些細(xì)節(jié)及問(wèn)題的解決方法,感興趣的各位可以參考下哈2013-03-03asp.net中對(duì)象失去焦點(diǎn)時(shí)自動(dòng)提交數(shù)據(jù) V2
一年多前,Insus.NET有寫過(guò)一篇 《對(duì)象失去焦點(diǎn)時(shí)自己動(dòng)提交數(shù)據(jù)》,那一篇是依賴Linkbutton來(lái)做隱藏提交。是否有不用依賴Linkbutton方法呢? 答案是肯定的2012-11-11Entity Framework加載控制Loading Entities
本文詳細(xì)講解了Entity Framework加載控制Loading Entities的用法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03.Net Core 中選項(xiàng)Options的具體實(shí)現(xiàn)
這篇文章主要介紹了.Net Core 中選項(xiàng)Options的具體實(shí)現(xiàn),文中運(yùn)用大量代碼對(duì)相關(guān)知識(shí)詳細(xì)介紹,感興趣的小伙伴可以參考一下這篇文章,希望對(duì)你有所幫助2021-09-09TreeView無(wú)刷新獲取text及value實(shí)現(xiàn)代碼
這篇文章介紹了TreeView無(wú)刷新獲取text及value實(shí)現(xiàn)代碼,有需要的朋友可以參考一下2013-10-10.net 讀取項(xiàng)目AssemblyInfo.cs屬性值
.net 讀取項(xiàng)目AssemblyInfo.cs屬性值的實(shí)現(xiàn)代碼。2009-06-06ASP.NET?Core?6框架揭秘實(shí)例演示之如何承載你的后臺(tái)服務(wù)
這篇文章主要介紹了ASP.NET?Core?6框架揭秘實(shí)例演示之如何承載你的后臺(tái)服務(wù),主要包括利用承載服務(wù)收集性能指標(biāo)、依賴注入的應(yīng)用、配置選項(xiàng)的應(yīng)用等知識(shí)點(diǎn),本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-03-03