批量删除问题,请求帮助
请教一个问题,如上批量删除代码工作有问题!如果是第一页的,删除功能没有问题,可翻页后就有问题,比如翻至第3页,选中几个checkbox然后删除,发现删除的是第一页的内容,不知道问题何在!!!
<asp:datagrid id="UserList" runat="server" AllowPaging="True" PageSize="12" OnPageIndexChanged="UserList_Page"
AutoGenerateColumns="False" OnDeleteCommand="UserList_Delete">
<PagerStyle HorizontalAlign="Right" Mode="NumericPages"></PagerStyle>
<Columns>
<asp:BoundColumn DataField="UserAccountsID" HeaderText="ID" Visible="False"></asp:BoundColumn>
<asp:TemplateColumn>
<HeaderTemplate>
<asp:CheckBox ID="allselect" AutoPostBack="True" OnCheckedChanged="allselect_changed" Runat="server"></asp:CheckBox>
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="delselect" Runat="server"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
.aspx
public void allselect_changed(object sender,System.EventArgs e)
{
CheckBox cb=(CheckBox)sender;
foreach(DataGridItem i in UserList.Items)
{
CheckBox cb1=(CheckBox)i.FindControl("delselect");
if(cb.Checked)
cb1.Checked=true;
else
cb1.Checked=false;
}
}
public void Item_Del(object sender,System.EventArgs e)
{
string strconn=ConfigurationSettings.AppSettings["TyConn"];
SqlConnection conn=new SqlConnection(strconn);
string strsql="select * from UserAccounts";
SqlDataAdapter myComm=new SqlDataAdapter(strsql,conn);
DataSet ds=new DataSet();
myComm.Fill(ds,"UserAccountsID");
for(int i=0;i<UserList.Items.Count;i++)
{
CheckBox cb=(CheckBox)UserList.Items[i].FindControl("delselect");
if(cb.Checked)
{
ds.Tables["UserAccountsID"].Rows[i].Delete();
}
}
SqlCommandBuilder UsernameCmdBd=new SqlCommandBuilder(myComm);
myComm.Update(ds,"UserAccountsID");
BindGrid();
}
public void BindGrid()
{......