您的位置:首页 > 编程语言 > ASP

asp.net GridView控件中模板列CheckBox全选、反选、取消

2009-12-04 00:00 1096 查看
using System; 
using System.Data; 
using System.Data.SqlClient; 
using System.Configuration; 
using System.Collections; 
using System.Web; 
using System.Web.Security; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Web.UI.WebControls.WebParts; 
using System.Web.UI.HtmlControls; 

public partial class Demo18 : System.Web.UI.Page 
{ 
protected void Page_Load(object sender, EventArgs e) 
{ 
if (Page.IsPostBack == false) 
{ 
BindData(); 
} 
} 

public void BindData() 
{ 
string strSql = "select UserID,C_Name,E_Name,UpdataDate,isDY from Demo_User "; 
DataTable dt = SqlHelper.ExecuteDataset(SqlHelper.CONN_STRING, CommandType.Text, strSql, null).Tables[0]; 

GridView.DataSource = dt; 
GridView.DataKeyNames = new string[] { "UserID" };//主键 
GridView.DataBind(); 
} 

protected void GridView_PageIndexChanging(object sender, GridViewPageEventArgs e) 
{ 
GridView.PageIndex = e.NewPageIndex; 
BindData(); 
} 

protected void Button1_Click(object sender, EventArgs e) 
{ 
CheckBoxAll.Checked = false; 
CheckBox1.Checked = false; 
for (int i = 0; i <= GridView.Rows.Count - 1; i++) 
{ 
CheckBox CheckBox = (CheckBox)GridView.Rows[i].FindControl("CheckBox"); 
CheckBox.Checked = false; 
} 

} 

protected void Button2_Click(object sender, EventArgs e) 
{ 
for (int i = 0; i <= GridView.Rows.Count - 1; i++) 
{ 
CheckBox CheckBox = (CheckBox)GridView.Rows[i].FindControl("CheckBox"); 
if (CheckBox.Checked == true) 
{ 
string strSql = "Update Demo_User set UpdataDate=@UpdataDate where UserID=@UserID "; 
SqlParameter[] para = { 
new SqlParameter("@UpdataDate", DateTime.Now), 
new SqlParameter("@UserID", GridView.DataKeys[i].Value), 
}; 
SqlHelper.ExecuteNonQuery(SqlHelper.CONN_STRING, CommandType.Text, strSql, para); 
} 
} 
CheckBoxAll.Checked = false; 
CheckBox1.Checked = false; 
BindData(); 

} 

protected void CheckBoxAll_CheckedChanged(object sender, EventArgs e) 
{ 
for (int i = 0; i <= GridView.Rows.Count - 1; i++) 
{ 
CheckBox CheckBox = (CheckBox)GridView.Rows[i].FindControl("CheckBox"); 
if (CheckBoxAll.Checked == true) 
{ 
CheckBox.Checked = true; 
} 
else 
{ 
CheckBox.Checked = false; 
} 
} 
CheckBox1.Checked = false; 

} 

protected void CheckBox1_CheckedChanged(object sender, EventArgs e) 
{ 
for (int i = 0; i <= GridView.Rows.Count - 1; i++) 
{ 
CheckBox CheckBox = (CheckBox)GridView.Rows[i].FindControl("CheckBox"); 
if (CheckBox.Checked == false) 
{ 
CheckBox.Checked = true; 
} 
else 
{ 
CheckBox.Checked = false; 
} 
} 
CheckBoxAll.Checked = false; 
} 
} 

<table align="center" bgcolor="#c0de98" border="0" cellpadding="0" cellspacing="1" width="99%"> 
<tr> 
<th colspan="2"> 
GridView演示</th> 
</tr> 
<tr> 
<td colspan="2" style="width: 100%;" > 
<asp:GridView ID="GridView" runat="server" Width="100%" AutoGenerateColumns="False" AllowPaging="True" OnPageIndexChanging="GridView_PageIndexChanging" PageSize="12" > 
<Columns> 
<asp:TemplateField HeaderText="选择"> 
<ItemTemplate> 
<asp:CheckBox ID="CheckBox" runat="server" /> 
</ItemTemplate> 
</asp:TemplateField> 
<asp:BoundField DataField="UserID" HeaderText="UserID" ReadOnly="True" /> 
<asp:BoundField DataField="C_Name" HeaderText="中文名字" ReadOnly="True" /> 
<asp:BoundField DataField="E_Name" HeaderText="英文名字" ReadOnly="True" /> 
<asp:BoundField DataField="UpdataDate" HeaderText="更新时间" /> 
</Columns> 
<RowStyle HorizontalAlign="Center" /> 
<PagerStyle HorizontalAlign="Right" /> 
</asp:GridView> 
</td> 
</tr> 

<tr> 
<td > 
<asp:CheckBox ID="CheckBoxAll" runat="server" Text="全选" Width="80px" AutoPostBack="True" OnCheckedChanged="CheckBoxAll_CheckedChanged" /> 
<asp:CheckBox ID="CheckBox1" runat="server" Text="反选" Width="80px" AutoPostBack="True" OnCheckedChanged="CheckBox1_CheckedChanged" /> 
<asp:Button ID="Button1" runat="server" Text="取 消" CssClass="Button" OnClick="Button1_Click"/> 
<asp:Button ID="Button2" runat="server" Text="更新时间" CssClass="Button" OnClick="Button2_Click"/></td> 
</tr> 
</table>


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: