批量刪除記錄時(shí)如何實(shí)現(xiàn)全選方法總結(jié)
更新時(shí)間:2007年04月29日 00:00:00 作者:
做大批量的數(shù)據(jù)刪除時(shí),如果有個(gè)全選按鈕把多個(gè)頁面上顯示的記錄全都選中刪除那比一條條的刪除要人性化得多,接下來說一說如何實(shí)現(xiàn),其實(shí)網(wǎng)上一搜有好多文章都是說如何進(jìn)行批量刪除的,大體上可以分為兩大類1:利用JS腳本實(shí)現(xiàn)全選。2:在服務(wù)器端實(shí)現(xiàn)全選
首先來說一說如何利用JS實(shí)現(xiàn)全選
往頁面上拖一個(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>接下來往頁面上添加一個(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>基本效果就有了,接下來我們?cè)邳c(diǎn)綴一下。在網(wǎng)頁中添加一個(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通過服務(wù)器端代碼實(shí)現(xiàn)全選
向頁面同添加一個(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;
}
首先來說一說如何利用JS實(shí)現(xiàn)全選
往頁面上拖一個(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>接下來往頁面上添加一個(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>基本效果就有了,接下來我們?cè)邳c(diǎn)綴一下。在網(wǎng)頁中添加一個(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通過服務(wù)器端代碼實(shí)現(xiàn)全選
向頁面同添加一個(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)文章
asp.net高效替換大容量字符實(shí)現(xiàn)代碼
每次替換完后,在下次替換時(shí)先排除這次替換的內(nèi)容,累加本次替換的內(nèi)容。2008-08-08
asp.net checkbox 動(dòng)態(tài)綁定id GridView刪除提示
asp.net checkbox 動(dòng)態(tài)綁定id,需要的朋友可以參考下。雖然簡單但不知道挺麻煩的。GridView刪除提示2009-10-10
ASP.NET?Core框架探索之Authentication的權(quán)限認(rèn)證過程解析
這篇文章主要介紹了ASP.NET?Core框架探索之Authentication的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03
ASP.NET通過自定義函數(shù)實(shí)現(xiàn)對(duì)字符串的大小寫切換功能
這篇文章主要介紹了ASP.NET通過自定義函數(shù)實(shí)現(xiàn)對(duì)字符串的大小寫切換功能的方法,給出了兩個(gè)簡單的實(shí)現(xiàn)方法,涉及asp.net字符串轉(zhuǎn)換操作的相關(guān)技巧,需要的朋友可以參考下2015-07-07
Asp.net在頁面間傳遞大量數(shù)據(jù)(數(shù)據(jù)表)建議采用的方法
能讓數(shù)據(jù)在 兩個(gè)不同站點(diǎn)之間傳遞嗎,針對(duì)這個(gè)問題將會(huì)展開本文的探討有想在A站點(diǎn)的數(shù)據(jù)傳遞到B站點(diǎn)的朋友們可以適當(dāng)參考下,或許本文對(duì)你有所幫助2013-02-02
基于ASP.NET+easyUI框架實(shí)現(xiàn)圖片上傳功能(表單)
這篇文章主要介紹了基于ASP.NET+easyUI框架實(shí)現(xiàn)圖片上傳功能的相關(guān)資料,需要的朋友可以參考下2016-06-06
asp.net實(shí)現(xiàn)word文檔在線預(yù)覽功能的方法
這篇文章主要介紹了asp.net實(shí)現(xiàn)word文檔在線預(yù)覽功能的方法,可實(shí)現(xiàn)office文檔轉(zhuǎn)html,再在瀏覽器里面在線瀏覽,是非常實(shí)用的技巧,需要的朋友可以參考下2014-11-11

