[程序设计]在DataGrid页眉上添加全选的CheckBox控件 |
冷冰雨 发表于 2005/3/14 14:30:47 |
很简单的方法,就是用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; } }
|
阅读全文(2755) | 回复(0) | 编辑 | 精华 |
|
« | September 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | | | | |
|
Blog信息 |
blog名称: 日志总数:13 评论数量:35 留言数量:0 访问次数:97610 建立时间:2005年1月11日 | |

|