您的位置:首页 > 其它

CheckBox与DataGrid混用&DataSet批量删除数据

2007-05-13 11:19 393 查看
.aspx代码

<form id="Form1" method="post" runat="server">
<p>
<asp:DataGrid id="dgrdName" runat="server" BorderStyle="None" BorderWidth="1px" BorderColor="#CC9966"
BackColor="White" CellPadding="4" Font-Size="9pt" Font-Names="verdana" AutoGenerateColumns="False">
<SelectedItemStyle Font-Bold="True" ForeColor="#663399" BackColor="#FFCC66"></SelectedItemStyle>
<ItemStyle ForeColor="#330099"></ItemStyle>
<HeaderStyle Font-Bold="True" ForeColor="#FFFFCC" BackColor="#990000"></HeaderStyle>
<FooterStyle ForeColor="#330099" BackColor="#FFFFCC"></FooterStyle>
<Columns>
<asp:TemplateColumn>
<HeaderTemplate>
<asp:CheckBox ID="chkAll" OnCheckedChanged="chkAll_changed" Runat="server" AutoPostBack="True"></asp:CheckBox>
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="chkDel" Runat="server"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="classid" HeaderText="编号"></asp:BoundColumn>
<asp:BoundColumn DataField="classname" HeaderText="姓名"></asp:BoundColumn>
</Columns>
<PagerStyle HorizontalAlign="Center" ForeColor="#330099" BackColor="#FFFFCC"></PagerStyle>
</asp:DataGrid>
</p>
<p>
<asp:Button id="Button1" runat="server" Text="删除所选条目"></asp:Button>
</p>
</form>

.aspx.cs后台代码

protected System.Web.UI.WebControls.DataGrid dgrdName;
protected System.Web.UI.WebControls.Button Button1;
SqlConnection myConn;
string strSql;
SqlDataAdapter myComm;
DataSet ds;
SqlCommandBuilder nameCmdBd;

private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!IsPostBack)
{
BindGrid();
}
}

private void BindGrid()
{//数据绑定
myConn=new SqlConnection(ConfigurationSettings.AppSettings["SqlConnString"].ToString());
strSql="select * from newsclass";
myComm=new SqlDataAdapter(strSql,myConn);
ds=new DataSet();
myComm.Fill(ds,"user");
dgrdName.DataSource=ds.Tables["user"].DefaultView;
dgrdName.DataBind();
}

public void chkAll_changed(object sender,EventArgs e)
{//全选
CheckBox cb=(CheckBox)sender;
foreach(DataGridItem i in dgrdName.Items)
{
CheckBox cb1=(CheckBox)i.FindControl("chkDel");
if(cb.Checked)
cb1.Checked=true;
else
cb1.Checked=false;
}
}

private void Button1_Click(object sender, System.EventArgs e)
{//删除选择项
myConn=new SqlConnection(ConfigurationSettings.AppSettings["SqlConnString"].ToString());
strSql="select * from newsclass";
myComm=new SqlDataAdapter(strSql,myConn);
ds=new DataSet();
myComm.Fill(ds,"name");
for(int i=0;i<dgrdName.Items.Count;i++)
{
CheckBox cb=(CheckBox)dgrdName.Items[i].FindControl("chkDel");
if(cb.Checked)
{
ds.Tables["name"].Rows[i].Delete();
}
}
nameCmdBd=new SqlCommandBuilder(myComm);
myComm.Update(ds,"name");
dgrdName.DataSource=ds.Tables["name"].DefaultView;
dgrdName.DataBind();
}

private void dgrdName_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{//分页
dgrdName.CurrentPageIndex=e.NewPageIndex;
BindGrid();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: