Beispiel #1
0
        /// <summary>
        /// Displays the values in an attribute collection.
        /// </summary>
        public void ShowDialog(TsCHdaServer server, OpcClientSdk.Hda.TsCHdaAttributeValueCollection values)
        {
            if (server == null)
            {
                throw new ArgumentNullException("server");
            }

            AttributesCTRL.Initialize(server, values);

            ShowDialog();
        }
        /// <summary>
        /// Displays the values of an attribute.
        /// </summary>
        public void Initialize(TsCHdaServer server, OpcClientSdk.Hda.TsCHdaAttributeValueCollection values)
        {
            m_server = server;

            AttributesLV.Items.Clear();

            if (values != null)
            {
                foreach (OpcClientSdk.Hda.TsCHdaAttributeValue value in values)
                {
                    AddListItem(value);
                }

                AdjustColumns();
            }
        }
        /// <summary>
        /// Returns the value of the specified field.
        /// </summary>
        private object GetFieldValue(object attribute, int fieldID)
        {
            // display result code.
            if (typeof(IOpcResult).IsInstanceOfType(attribute))
            {
                switch (fieldID)
                {
                case RESULT: { return(((OpcClientSdk.Hda.TsCHdaAttributeValueCollection)attribute).Result); }
                }
            }

            // displaying attribute descriptions.
            if (typeof(OpcClientSdk.Hda.TsCHdaAttribute).IsInstanceOfType(attribute))
            {
                if (AttributesLV.CheckBoxes)
                {
                    switch (fieldID)
                    {
                    case NAME: { return(((OpcClientSdk.Hda.TsCHdaAttribute)attribute).Name); }
                    }
                }
                else
                {
                    switch (fieldID)
                    {
                    case NAME:        { return(((OpcClientSdk.Hda.TsCHdaAttribute)attribute).Name); }

                    case DATA_TYPE:   { return(((OpcClientSdk.Hda.TsCHdaAttribute)attribute).DataType); }

                    case DESCRIPTION: { return(((OpcClientSdk.Hda.TsCHdaAttribute)attribute).Description); }
                    }
                }
            }

            // displaying attribute results.
            if (typeof(OpcClientSdk.Hda.TsCHdaAttributeValueCollection).IsInstanceOfType(attribute))
            {
                OpcClientSdk.Hda.TsCHdaAttributeValueCollection collection = (OpcClientSdk.Hda.TsCHdaAttributeValueCollection)attribute;

                switch (fieldID)
                {
                case NAME:
                {
                    OpcClientSdk.Hda.TsCHdaAttribute description = m_server.Attributes.Find(collection.AttributeID);

                    if (description != null)
                    {
                        return(description.Name);
                    }

                    return(null);
                }

                case NUM_VALUES:
                {
                    if (collection.Count > 1)
                    {
                        return(collection.Count);
                    }

                    return(null);
                }

                case VALUE:
                {
                    if (collection.Count == 1)
                    {
                        return(collection[0].Value);
                    }

                    return(null);
                }
                }
            }

            // displaying attribute values.
            if (typeof(OpcClientSdk.Hda.TsCHdaAttributeValue).IsInstanceOfType(attribute))
            {
                switch (fieldID)
                {
                case TIMESTAMP: { return(((OpcClientSdk.Hda.TsCHdaAttributeValue)attribute).Timestamp); }

                case VALUE:     { return(((OpcClientSdk.Hda.TsCHdaAttributeValue)attribute).Value); }
                }
            }

            return(null);
        }