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

RowDataLockedChanged是数据行锁定之后发生的事件。因为数据行的锁定状态会与绑定控件的可编辑状态相关联,所以本平台会在当前行锁定变更之后自动地去遍历一遍当前表所关联的所有控件,将控件的可编辑状态同步一下。如果我们自己在开发过程中,使用了非绑定的模式时,想关联表当前行的锁定状态,可以考虑修改控件的编辑状态。如果与一些权限相关联的话,在这里也可以作一些精细的权限控制。

与之相对的,我们还有一个RowDataLockedChanging事件,同样也可以通过e.Cancel=True来取消锁定状态的修改。

RowDataLockedChanged 数据 数据行锁定之后发生的事件。
RowDataLockedChanging 数据 数据行锁定之前发生的事件。

示例:

Vb.Net
Public Sub RowDataLockedChanged(sender As Object,e As sanMuSoft.CS.WinForm.ColDataEventArgs)
    Dim cmbName As BoxComboBox=Proj.OpenedForms("员工管理明细").ControlDictionary()("BoxComboBox1")
    '修改控件的编辑状态
    cmbName.ReadOnly=e.RowData.Locked.GetBooleanEnum()
End Sub

C#
public void RowDataLockedChanged(object sender, sanMuSoft.CS.WinForm.ColDataEventArgs e)
{
    BoxComboBox cmbName = Proj.OpenedForms("员工管理明细").ControlDictionary()("BoxComboBox1") as BoxComboBox;
    // 修改控件的编辑状态
    cmbName.ReadOnly = e.RowData.Locked.GetBooleanEnum();
}