关于Dataset的删除问题,请教高手!
我通过DataGrid绑定一个Dataset(经过webservice返回),但是Dataset删除其中一行时,发现Dataset的记录集少了一行,可是HasChanges却是false。请高手帮忙!
代码如下:
private void cmdDelete_Click(object sender, System.EventArgs e)
{
CheckBox cb;
Equipment.EqpService.EquipmentDS.EquipmentRow removeRow;
Equipment.EqpService.EqpService ws=new EqpService.EqpService();
ws.Credentials=System.Net.CredentialCache.DefaultCredentials;
equipmentDS1.Merge(ws.GetEquipmentDS( ctlDept.strTempSql));
for(int i=0;i<DG.Items.Count;i++)
{
cb=(CheckBox)DG.Items[i].FindControl("chb2");
if (cb!=null)
{
if (cb.Checked==true )
{
removeRow=equipmentDS1.Equipment.FindByEquipmentID(System.Decimal.Parse ( DG.DataKeys[i].ToString() ));
//这里的removeRow有返回值 equipmentDS1.Equipment.RemoveEquipmentRow (removeRow);
//equipmentDS1.Equipment.RemoveEquipmentRow (equipmentDS1.Equipment[DG.Items[i].DataSetIndex]);
}
}
}
if(equipmentDS1.HasChanges(DataRowState.Deleted ))
{
Equipment.EqpService.EqpService wts=new EqpService.EqpService();
wts.Credentials=System.Net.CredentialCache.DefaultCredentials;
Equipment.EqpService.EquipmentDS xdataset;
xdataset = (Equipment.EqpService.EquipmentDS)equipmentDS1.GetChanges();
wts.UpEquipmentDS(xdataset);
equipmentDS1.AcceptChanges();
//msgbox
BindData();
}
}