DataGrid常见解决方案:在分页状态下删除纪录的问题
点击次数:21 次 发布日期:2008-11-26 12:19:44 作者:源代码网
|
源代码网推荐 源代码网推荐 //检索数据库的函数 源代码网推荐 public DataSet GetZcbd() 源代码网推荐 { 源代码网推荐 try 源代码网推荐 { 源代码网推荐 DataSet ds=new DataSet(); 源代码网推荐 string searchString="select id,yy,bj from zc"; 源代码网推荐 da=new OleDbDataAdapter(searchString,conn); 源代码网推荐 da.Fill(ds,"yy"); 源代码网推荐 return ds; 源代码网推荐 } 源代码网推荐 catch 源代码网推荐 { 源代码网推荐 return null; 源代码网推荐 } 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 //绑定DataGrid 源代码网推荐 private void BindGrid() 源代码网推荐 { 源代码网推荐 DataSet ds = new DataSet(); 源代码网推荐 ds = us.GetZcbd(); 源代码网推荐 if (ds!=null) 源代码网推荐 { 源代码网推荐 this.DataGrid1.DataSource = ds; 源代码网推荐 this.DataGrid1.DataBind(); 源代码网推荐 } 源代码网推荐 else 源代码网推荐 { 源代码网推荐 msg.Alert("加载数据错误!",Page); 源代码网推荐 } 源代码网推荐 } 源代码网推荐 源代码网推荐 //删除数据库纪录函数 源代码网推荐 public string DeleteZcbd(int bdID) 源代码网推荐 { 源代码网推荐 源代码网推荐 int count = this.IfExiseZysx(bdID);//不必理会次句,默认count=1 源代码网推荐 if (count <= 0) return "false"; 源代码网推荐 else 源代码网推荐 { 源代码网推荐 string sqlStr = "delete from zcwhere id="+bdID; 源代码网推荐 OleDbCommand cmd = new OleDbCommand(sqlStr,conn); 源代码网推荐 源代码网推荐 conn.Open(); 源代码网推荐 源代码网推荐 try 源代码网推荐 { 源代码网推荐 cmd.ExecuteNonQuery(); 源代码网推荐 return "true"; 源代码网推荐 } 源代码网推荐 catch(Exception e) 源代码网推荐 { 源代码网推荐 return e.Message.ToString(); 源代码网推荐 } 源代码网推荐 finally 源代码网推荐 { 源代码网推荐 conn.Close(); 源代码网推荐 } 源代码网推荐 } 源代码网推荐 } 源代码网推荐 源代码网推荐 // DataGrid1_DeleteCommand事件修改函数 源代码网推荐 private void DataGrid1_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) 源代码网推荐 { 源代码网推荐 int bdID = int.Parse(DataGrid1.DataKeys[(int)e.Item.ItemIndex].ToString()); 源代码网推荐 string isDel = us.DeleteZcbd(bdID); 源代码网推荐 int CurrentPage = 0; 源代码网推荐 if (isDel == "true") 源代码网推荐 { 源代码网推荐 if(this.DataGrid1.CurrentPageIndex == this.DataGrid1.PageCount -1) 源代码网推荐 { 源代码网推荐 if (this.DataGrid1.CurrentPageIndex == 0) 源代码网推荐 { 源代码网推荐 this.DataGrid1.CurrentPageIndex = this.DataGrid1.PageCount -1; 源代码网推荐 } 源代码网推荐 else 源代码网推荐 { 源代码网推荐 if (this.DataGrid1.Items.Count % this.DataGrid1.PageSize == 1) 源代码网推荐 { 源代码网推荐 CurrentPage = 2; 源代码网推荐 } 源代码网推荐 else 源代码网推荐 { 源代码网推荐 CurrentPage = 1; 源代码网推荐 } 源代码网推荐 this.DataGrid1.CurrentPageIndex = this.DataGrid1.PageCount - CurrentPage; 源代码网推荐 } 源代码网推荐 } 源代码网推荐 this.BindGrid(); 源代码网推荐 } 源代码网推荐 else 源代码网推荐 { 源代码网推荐 msg.Alert("删除数据错误!",Page); 源代码网推荐 } 源代码网推荐 源代码网推荐 } 源代码网推荐 注释:msg为一个类似WinForm的messagebox对话框,不必理会。可以使用label.Text代替 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。 源代码网推荐 源代码网供稿. |
