コード例 #1
0
 /// <summary>
 /// Apply access rights to selected objects.
 /// </summary>
 private void AccessRightsApplyBtn_Click(object sender, EventArgs e)
 {
     try
     {
         int access = (int)AccessRightAllCb.SelectedItem;
         int ver    = version;
         if (Target is GXDLMSAssociationLogicalName)
         {
             ver = Target.Version;
         }
         foreach (DataGridViewRow it in Accessrights.SelectedRows)
         {
             //Logical name can't changed.
             if (it.Index != 0)
             {
                 if (ver < 3)
                 {
                     ((GXDLMSAttributeSettings)bindingSource1[it.Index]).Access  = (AccessMode)access;
                     ((GXDLMSAttributeSettings)bindingSource1[it.Index]).Access3 = 0;
                     Target.SetAccess(it.Index, (AccessMode)access);
                 }
                 else
                 {
                     ((GXDLMSAttributeSettings)bindingSource1[it.Index]).Access = 0;
                     if (access == 0)
                     {
                         ((GXDLMSAttributeSettings)bindingSource1[it.Index]).Access3 = 0;
                     }
                     else
                     {
                         ((GXDLMSAttributeSettings)bindingSource1[it.Index]).Access3 |= (AccessMode3)access;
                     }
                     Target.SetAccess3(1 + it.Index, (AccessMode3)((GXDLMSAttributeSettings)bindingSource1[it.Index]).Access3);
                 }
                 Accessrights.UpdateCellValue(2, it.Index);
             }
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(this, ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }