DataGrid中数据的删除问题
我的程序大致如下:
private void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
if(!IsPostBack)
{
this.GridBindData();
}
}
private void GridBindData()
{
try
{
GridEdit.Database.InitConnectionString();
this.sqlconn=GridEdit.Database.Connection;
if(this.sqlconn==null)
{
this.sqlconn.Open();
}
//开始邦定数据
string strSql="select * from Employee";
//this.sqlconn.ConnectionString=strSql;
SqlDataAdapter da=new SqlDataAdapter(strSql,this.sqlconn);
ds=new DataSet();
da.Fill(ds,"Employee");
da.Dispose();
//this.DataGrid1.Columns[0].
this.DataGrid1.DeleteCommand +=new System.Web.UI.WebControls.DataGridCommandEventHandler(DeleteData);
this.DataGrid1.ItemDataBound +=new System.Web.UI.WebControls.DataGridItemEventHandler(bound);
this.DataGrid1.DataSource=ds.Tables["Employee"];
this.DataGrid1.DataBind();
}
catch(Exception ex)
{
Response.Write("<script language='javascript'>alert("+ ex.Message +"');</script>");
}
finally
{
if(this.sqlconn!=null)
{
this.sqlconn.Close();
}
}
}
private void DeleteData(object sender,System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
ds.Tables["Employee"].Rows[e.Item.ItemIndex].Delete();
DataView dv=new DataView(ds.Tables["Employee"],null,null,DataViewRowState.Unchanged);
this.DataGrid1.DataSource=dv;
this.DataGrid1.DataBind();
}
问题是在DataGrid中点击删除以后,执行DeleteData()方法,但是DataGrid中显示的删除后的Table的数据不对,当我删除第一行后,显示的是对的,但再点新的第一行的删除,则不能删,但点新的第二行的删除就能删掉第一行的数据,但是第一次山的数据就会显示出来,请问是怎么搞得?