很简单的方法,就是用js实现:
页面:
<asp:datagrid id="dgUserList" runat="server" Width="640px" BorderColor="White" PagerStyle-HorizontalAlign="Right"
AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False">
<AlternatingItemStyle BackColor="#F5F5F5"></AlternatingItemStyle>
<ItemStyle HorizontalAlign="Center"></ItemStyle>
<HeaderStyle HorizontalAlign="Center" ForeColor="White" BackColor="#4A95FD" Height="8"></HeaderStyle>
<PagerStyle HorizontalAlign="Right" Mode="NumericPages"></PagerStyle>
<Columns>
<asp:TemplateColumn>
<HeaderTemplate>
<asp:CheckBox id="chkAll" runat="server"></asp:CheckBox>
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox id="chkItem" runat="server"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="id" HeaderText="序号"></asp:BoundColumn>
<asp:BoundColumn DataField="username" HeaderText="用户名"></asp:BoundColumn>
<asp:BoundColumn DataField="workno" HeaderText="工号"></asp:BoundColumn>
<asp:BoundColumn DataField="dept" HeaderText="部门"></asp:BoundColumn>
</Columns>
<PagerStyle Visible="False" HorizontalAlign="Right" Mode="NumericPages"></PagerStyle>
</asp:datagrid>
后台代码:
private void dgUserList_PreRender(object sender, System.EventArgs e)
{
foreach (DataGridItem item in dgUserList.Controls[0].Controls)
{
if (item.ItemType == ListItemType.Header)
{
CheckBox chkAll=(CheckBox)item.FindControl("chkAll");
System.Text.StringBuilder strScript = new System.Text.StringBuilder("<script language='javascript'> \n");
strScript.Append(" function checkStatus() { \n");
strScript.Append(" var bAll = true; \n");
strScript.Append(" bAll = document.all('" + chkAll.ClientID + "').checked; \n");
for(int i=0; i<dgUserList.Items.Count ; i++)
{
strScript.Append(" document.all('" + dgUserList.Items[i].Cells[0].FindControl("chkItem").ClientID + "').checked = bAll; \n");
}
strScript.Append(" } \n");
strScript.Append("</script> \n");
if(!Page.IsClientScriptBlockRegistered("checkStatus"))
Page.RegisterClientScriptBlock("checkStatus",strScript.ToString());
chkAll.Attributes.Add("onclick","checkStatus()");
return;
}
}
<alternatingitemstyle backcolor="#F5F5F5"></alternatingitemstyle><itemstyle horizontalalign="Center"></itemstyle><headerstyle backcolor="#4A95FD" horizontalalign="Center" height="8" forecolor="White"></headerstyle><pagerstyle horizontalalign="Right" mode="NumericPages"></pagerstyle><columns><?xml:namespace prefix = asp /><templatecolumn><headertemplate><checkbox id="chkAll" runat="server"></checkbox></headertemplate><itemtemplate><checkbox id="chkItem" runat="server"></checkbox></itemtemplate></templatecolumn><boundcolumn headertext="序号" datafield="id"></boundcolumn><boundcolumn headertext="用户名" datafield="username"></boundcolumn><boundcolumn headertext="工号" datafield="workno"></boundcolumn><boundcolumn headertext="部门" datafield="dept"></boundcolumn></columns><pagerstyle horizontalalign="Right" mode="NumericPages" visible="False"></pagerstyle><alternatingitemstyle backcolor="#F5F5F5"></alternatingitemstyle><itemstyle horizontalalign="Center"></itemstyle><headerstyle backcolor="#4A95FD" horizontalalign="Center" height="8" forecolor="White"></headerstyle><pagerstyle horizontalalign="Right" mode="NumericPages"></pagerstyle><columns><templatecolumn><headertemplate><checkbox id="chkAll" runat="server"></checkbox></headertemplate><itemtemplate><checkbox id="chkItem" runat="server"></checkbox></itemtemplate></templatecolumn><boundcolumn headertext="序号" datafield="id"></boundcolumn><boundcolumn headertext="用户名" datafield="username"></boundcolumn><boundcolumn headertext="工号" datafield="workno"></boundcolumn><boundcolumn headertext="部门" datafield="dept"></boundcolumn></columns><pagerstyle horizontalalign="Right" mode="NumericPages" visible="False"></pagerstyle>
分享到:
相关推荐
这个场景下,用户可能需要实现一个常见的功能,即在DataGrid中添加CheckBox,允许用户进行多选操作,尤其是全选功能。这篇博客“在DataGrid中使用CheckBox,实现全选功能”详细介绍了如何实现这一需求。 首先,我们...
项目中用到DataGrid, 需要在第一列添加checkbox, 可以多选、全选。 其中涉及的概念DataTemplate, DataGridCellStyle, DataGridCellControlTemplate,Binding, OnPropertyChanged等。
要实现全选复选框的功能,我们需要在DataGrid之外添加一个CheckBox组件,并监听其change事件。当这个CheckBox的状态改变时,触发上述的数据模型处理方法。另外,每个DataGrid的列也需要配置为显示复选框,可以通过...
在本文中,我们将深入探讨两种在Flex或Adobe AIR应用程序中常用的组件——`DataGrid`和`AdvancedDataGrid`,特别是关于它们的CheckBox全选功能。`DataGrid`和`AdvancedDataGrid`是Flex中用于展示数据集合的强大工具...
在这个特定的场景中,我们关注的是如何在`DataGridView`的表头添加一个`CheckBox`,以便实现全选和全不选的功能。这将大大提升用户体验,使得用户可以快速地对所有行进行操作,如批量删除、更新等。 首先,我们需要...
本示例关注的是在DataGrid中嵌套复选框(Checkbox),并实现全选功能。这在需要用户批量选择或操作数据的场景中非常常见。以下是对这个主题的详细讲解: 1. **Flex DataGrid组件**: Flex DataGrid是Adobe Flex...
在Flex开发中,DataGrid组件是一个非常常用的控件,它用于展示数据集合,并提供交互式操作,如排序、选择等。本示例聚焦于DataGrid中的CheckBox集成,特别是实现一个全选的功能。以下是对这个主题的详细解释: 一、...
3,最后在datagrid中引用下面代码即可 import com.rj.dgrenderer.CheckBoxItemRenderer; import com.rj.dgrenderer.CheckBoxRenderer; 全选" editable="false" sortable="false" draggable="false" width="35" ...
在某些应用场景下,我们可能需要在`DataGrid`的每一行添加复选框,以便用户可以多选操作,如全选和取消全选功能。下面我们将详细探讨如何实现这一功能。 首先,我们需要在`DataGrid`中添加复选框列。这可以通过...
在实际应用中,我们经常需要在`DataGrid`中添加复选框(CheckBox)来实现行级别的选择功能,同时提供全选和非全选的功能。这个功能不仅方便用户批量操作,也为应用提供了更好的交互性。本教程将详细讲解如何在`WPF ...
为了实现全选和反选功能,我们需要在界面上添加两个CheckBox控件,分别代表全选和全反。当用户点击全选CheckBox时,遍历dataProvider中的所有数据项,将它们的“isSelected”字段设为true;反之,当点击全反CheckBox...
在本文中,我们将深入探讨如何在Flex中实现DataGrid和AdvancedDataGrid组件的CheckBox全选功能。这个功能在数据展示和交互式操作中非常常见,它允许用户通过一个主CheckBox来选择或取消选择所有行数据。 首先,我们...
在Flex开发中,Datagrid是一种常用的组件,用于展示表格数据,而checkbox全选功能则是提高用户体验的一个重要特性。本文将详细讲解如何实现Flex Datagrid中checkbox的全选功能。 首先,我们要了解Flex Datagrid的...
Datagridview控件没有全选或取消全选的复选框,本资源用VB2015通过扩展DataGridViewColumnHeaderCell类,在列头绘制一个复选框checkbox控件,通过定义checkbox鼠标单击事件来实现行的全选或取消全选。checkbox还可以...
DataGrid控件提供了一个IsSynchronizedWithCurrentItem属性,结合CheckBox控件,可以轻松实现全选和反选。 ```xaml <DataGrid.Columns> <CheckBox IsChecked="{Binding Path=IsSelected, Mode=TwoWay, ...
在Windows Presentation Foundation (WPF) 中,CheckBox是一个常用的控件,用于表示两种状态:选中或未选中。在开发用户界面时,特别是在涉及到多选列表时,全选和反选功能是常见的需求。本教程将详细介绍如何在WPF...
在实际项目中,这三种方法都可以有效地实现Checkbox全选和反选功能。选择哪种方法主要取决于项目需求、性能考虑以及开发者的偏好。对于小型项目,前两种纯JavaScript的方法足够;对于大型项目,结合服务器端处理可能...
本篇将详细介绍如何在WinCE的DataGrid中添加CheckBox和TextBox控件,这些技术对于构建功能丰富的嵌入式应用程序至关重要。 首先,了解DataGrid控件。DataGrid是.NET Compact Framework(用于WinCE平台的.NET框架)...