protected virtual void OnDeleteCommand(MxDataGridCancelEventArgs e) { if (!(this.DataSource is DataControl) || ((DataControl) this.DataSource).CanDelete) { this.OnBeforeDelete(e); if (!e.Cancel) { int affectedRecords = 0; this.EditItemIndex = -1; if (this.DataSource is DataControl) { DataControl dataSource = (DataControl) this.DataSource; if (dataSource.AutoGenerateDeleteCommand) { if (this.DataKeys.Count == 0) { throw new HttpException(Microsoft.Matrix.Framework.SR.GetString("MxDataGrid_CantGenerateDeleteCommand")); } object obj2 = this.DataKeys[e.Item.ItemIndex]; Hashtable selectionFilters = new Hashtable(); selectionFilters.Add(this.DataKeyField, obj2); affectedRecords = dataSource.Delete(this.DataMember, selectionFilters); } else { affectedRecords = dataSource.Delete(this.DataMember, e.FieldValues); } } if (this.AutoDataBind) { this.DataBind(); } this.OnAfterDelete(new MxDataGridStatusEventArgs(e, affectedRecords)); } } }
public MxDataGridStatusEventArgs(MxDataGridCancelEventArgs cancelEventArgs, int affectedRecords) { this.item = cancelEventArgs.Item; this.commandSource = cancelEventArgs.CommandSource; this.affectedRecords = affectedRecords; }
protected virtual void OnBeforeDelete(MxDataGridCancelEventArgs e) { MxDataGridCancelEventHandler handler = (MxDataGridCancelEventHandler) base.Events[EventBeforeDelete]; if (handler != null) { handler(this, e); } }