//删除
private void btnDel_Click(object sender ,System.Web.UI.ImageClickEventArgs e)
{
System.Collections.ArrayList list = new ArrayList();
string ContactTypeID="";
int Count=0;
foreach(DataGridItem item in this.dgContactType.Items)
{
if(((CheckBox)(item.Cells[0].FindControl("ChkSelect"))).Checked == true)
{
ContactTypeID= this.dgContactType.DataKeys[item.ItemIndex].ToString();
list.Add(ContactTypeID);
}
}
if(list.Count !=0)
{
SqlConnection con=SQLConnection.myConnection;
for(int k=0;k
{
string strSql = "delete from CONTACTTYPE where CONTACTTYPEID= '"+list[k].ToString()+"'";
SqlCommand cmd=new SqlCommand(strSql,con);
Count = cmd.ExecuteNonQuery();
}
if( Count == 0)
{
this.LblMessage.Text = " <script language="javascript" type="text/javascript"></script> ";
}
else
{
this.LblMessage.Text = " <script language="javascript" type="text/javascript"></script> ";
}
con.Close();
//删除最后一页,需要修改当前页索引
if((this.dgContactType.PageCount - this.dgContactType.CurrentPageIndex == 1) &&( this.dgContactType.Items.Count - list.Count == 0))
{
if(this.dgContactType.PageCount >1)
{
this.dgContactType.CurrentPageIndex =this.dgContactType.CurrentPageIndex -1;
}
else
{
this.dgContactType.CurrentPageIndex = 0;
}
}
this.DataBindToDG();//DataGrid重新绑定到数据库
}
}
另外再提个小问题,就是做了查询后,发现查出了冗余的数据,问题就出在了,换页事件上,因为换页后我重新绑定到DataGrid的数据是从数据库中全选的,这就难免会有冗余,现在DataGrid中的数据应该是符合查询条件的数据,换页事件中,新页也应该是符合查询条件的数据。所以现在就换页代码修改如下:
//当前索引页
private void dgContactType_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
this.dgContactType.CurrentPageIndex=e.NewPageIndex;
//当前绑定到DataGrid中的应该是查询后是数据,否则有冗余数据
string str=this.txtContactTypeFind.Text.ToString();
string strSql="select * from CONTACTTYPE where CONTACTTYPENAME like '%"+str+"%' order by CONTACTTYPEID";
DataSet ds=new DataSet();
ds=Common.GetDSCommon(strSql);
this.dgContactType.DataSource=ds.Tables[0].DefaultView;
this.dgContactType.DataBind();
}