/// <summary> /// Apply method access rights to selected objects. /// </summary> private void MethodAccessRightsApplyBtn_Click(object sender, EventArgs e) { try { int access = (int)MethodAccessRightAllCb.SelectedItem; int ver = version; if (Target is GXDLMSAssociationLogicalName) { ver = Target.Version; } foreach (DataGridViewRow it in MethodAccessrights.SelectedRows) { if (ver < 3) { ((GXDLMSAttributeSettings)bindingSource3[it.Index]).MethodAccess = (MethodAccessMode)access; ((GXDLMSAttributeSettings)bindingSource3[it.Index]).MethodAccess3 = 0; Target.SetMethodAccess(it.Index, (MethodAccessMode)access); } else { ((GXDLMSAttributeSettings)bindingSource3[it.Index]).MethodAccess = 0; if (access == 0) { ((GXDLMSAttributeSettings)bindingSource3[it.Index]).MethodAccess3 = 0; } else { ((GXDLMSAttributeSettings)bindingSource3[it.Index]).MethodAccess3 |= (MethodAccessMode3)access; } Target.SetMethodAccess3(1 + it.Index, (MethodAccessMode3)((GXDLMSAttributeSettings)bindingSource3[it.Index]).MethodAccess3); } MethodAccessrights.UpdateCellValue(2, it.Index); } } catch (Exception ex) { MessageBox.Show(this, ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }