1 . JS實現全選
往頁面上拖一個GridView,設置好數據源,並為GridView添加一個模板列,往模板列裡添加一個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>
//接下來往頁面上添加一個checkbox控件
<asp:CheckBox ID="chk_JS" runat="server" Text="全選(JS)" onclick="selectAll(this)"/>
//並為該控件編寫JS腳本如下:
<script type="text/javascript">
//根據傳入的checkbox的選中狀態設置所有checkbox的選中狀態
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>
//基本效果就有了,接下來我們在點綴一下。在網頁中添加一個button
<asp:Button ID="btn_DeleteRecords" runat="server" OnClientClick="return judgeSelect();" Text="刪除選中記錄" />
//添加JS腳本
//判斷是否選中記錄,用戶確認刪除
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("請先選則要刪除的記錄!");
return result;
}
result = confirm("你確認要刪除選定的記錄嗎?");
return result;
}
2通過服務器端代碼實現全選
.net開發中批量刪除記錄時如何實現全選功能
向頁面同添加一個CheckBox並將AutoPostBack屬性設置成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;
}