Previous topicNext topic
Help > 开发指南 > SanMuGrid平台编程 > 主要对象 > BaseGrid > 事件 >
RowDataDeleted

RowDataDeleted数据行删除之后发生的事件。与之相对的,还有一个RowDataDeleting事件,此事件中可以通过e.Cancel=True来取消当前行的删除动作。不过此种只能取消单表(没有子表)删除行的场景。在拥有多子表的场景下,删除行的逻辑是比较复杂的,会跳过此逻辑判断进行后台操作。

RowDataDeleted 数据 数据行删除之后发生的事件。
RowDataDeleting 数据 数据行删除之前发生的事件。

下面是e参数可以获得的对象清单

Vb.Net
 
Public Sub SmGrid1_RowDataDeleted(sender As Object,e As sanMuSoft.CS.WinForm.RowDataEventArgs)
    Dim tbl As SmGrid=sender
    'RowData变更事件,包含下面这些对象
    Dim dt As DataTableHelp=e.DataTableHelp
    Dim dr As RowData=e.RowData
    Dim frm As BaseForm=e.Form

End Sub

示例:

Vb.Net
Public Sub RowDataDeleting(sender As Object,e As  sanMuSoft.CS.WinForm.RowDataEventArgs)
    '在删除前的话,可以按照正常方式读取行中数据
    MessageBox.Show(e.RowData("PositionID"))
    '如果想取消删除,可以设置Cancel属性
    e.Cancel=True
End Sub

Public Sub RowDataDeleted(sender As Object,e As  sanMuSoft.CS.WinForm.RowDataEventArgs)
    '如果想获得删除行的数据,得换种方式读取
    '方式一
    MessageBox.Show(e.RowData("PositionID",DataRowVersion.Original))
    '方式二
    MessageBox.Show(e.RowData.OriginalValue("PositionID"))
    '方式三
    MessageBox.Show(e.RowData("PositionID"))
End Sub

C#
public void RowDataDeleting(object sender, sanMuSoft.CS.WinForm.RowDataEventArgs e)
{
    // 在删除前的话,可以按照正常方式读取行中数据
    MessageBox.Show(e.RowData["PositionID"]);
    // 如果想取消删除,可以设置Cancel属性
    e.Cancel = true;
}

public void RowDataDeleted(object sender, sanMuSoft.CS.WinForm.RowDataEventArgs e)
{
    // 如果想获得删除行的数据,得换种方式读取
    // 方式一
    MessageBox.Show(e.RowData["PositionID", DataRowVersion.Original]);
    // 方式二
    MessageBox.Show(e.RowData.OriginalValue("PositionID"));
    // 方式三
    MessageBox.Show(e.RowData["PositionID"]);
}