例如:DataGrid中开启了分页功能(注:一般在DataGrid中开启分页功能后,删除最容易出现错误)
方式1:记录只能一条一条的删除(每条记录前有一个“删除”链接)
private void myData_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
SqlConnection con=new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
SqlCommand cmd=new SqlCommand();
cmd.Connection=con;
cmd.CommandText="delete from [表名] where [ID]="+Convert.ToInt32(this.myData.DataKeys[e.Item.ItemIndex]);
try
{
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
catch
{
if(con.State==ConnectionState.Open)
con.Close();
}
if(this.myData.Items.Count==1)
{
if(this.myData.CurrentPageIndex!=0)
this.myData.CurrentPageIndex-=1;
}
DataBinds(); //自定义数据绑定方法
}
方式2:点击一个按钮可以实现所选记录全部删除(每一条记录前有一个复选框,以确认是否要删除该记录)
private void btnDel_Click(ojbect sender,EventArgs e)
{
int select=0;
foreach(DataGirdItem dgi in this.myData.Items)
{
CheckBox cb=dgi.FindControl("cbSelect");
if(cb.Checked)
{
//删除记录代码同上
select++;
}
}
if(select==this.myData.Items.Count)
{
if(this.myData.CurrentPageIndex!=0)
this.myData.CurrentPageIndex-=1;
}
DataBinds(); //自定义绑定方法
}
[此贴子已经被作者于2006-7-27 11:40:52编辑过]