Variants of the block edit facility
Option 1: proactive action
If it becomes clear that the object will need to access read-only before it is opened, you can use the following example:
private void button1_Click(object sender, EventArgs e)
{
ICSSoft.STORMNET.DataObject[] dObjs = objectListView1.GetObjectsByMarks();
foreach (ICSSoft.STORMNET.DataObject d in dObjs)
{
//lock needed to unlock object (unlock the object with a different key will be impossible).
Guid key = new Guid();
d.LockObject(key);
OnEditEvent("", d, "");
}
}
In this case, the database lock will not be sent.
Option 2: the form is already open
public override void Edit(ICSSoft.STORMNET.DataObject dataobject, string contpath, string propertyname, object tag)
{
if (dataobject == null)
return;
if (!((Квалификация)dataobject).Актуально)
{
this.SetEditManagerReadOnly(true);
this.Caption += "(date)";
}
base.Edit(dataobject, contpath, propertyname, tag);
}