在DataGrid控件中添加CheckBox控件列,实现全选/全取消
实现方法有2种,客户端实现和服务端实现
客户端实现
(1)脚本
<form id="Form1" method="post" runat="server">
<asp:DataGrid id="dgCheckBox" runat="server" AutoGenerateColumns="False" Width="472px">
<Columns>
<asp:TemplateColumn HeaderText="<input type=checkbox id=CheckAll onclick='javascript:SelAll()'> 全选/全取消">
<ItemTemplate>
<asp:CheckBox id="CheckBox1" runat="server"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="LastName" HeaderText="LastName"></asp:BoundColumn>
<asp:BoundColumn DataField="FirstName" HeaderText="FirstName"></asp:BoundColumn>
</Columns>
</asp:DataGrid>
</form>
(2)JavaScript
<script language="javascript">
function SelAll()
{
var RowCnt=<%=RowCount%>;
var IsChk;
IsChk = document.all.CheckAll.checked;
for(j= 0;j<RowCnt+1;j ++ )
{
if(typeof(document.all.dgCheckBox.rows(j).cells(0).children(0)) == "object")
{
document.all.dgCheckBox.rows(j).cells(0).children(0).checked = IsChk;
}
}
![](/Images/OutliningIndicators/InBlock.gif)
}
</script>
(3)代码
//定义公共变量,保存数据的行数
public int RowCount;
private void Page_Load(object sender, System.EventArgs e)
{
//页面初试化时进行数据绑定
if(!IsPostBack)
DataGridDataBind();
}
//绑定数据
private void DataGridDataBind()
{
DataSet ds = new DataSet();
/*
添充数据
*/
RowCount = ds.Tables[0].Rows.Count;
}
服务端实现
这个方法就是出发事件回到服务端,捉行查看
客户端实现
(1)脚本
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
服务端实现
这个方法就是出发事件回到服务端,捉行查看