Esempio n. 1
0
        public moField Clone()
        {
            moField sField = new moField(_Name, _ValueType);

            sField._AliasName = _AliasName;
            sField._Length    = _Length;
            return(sField);
        }
Esempio n. 2
0
        public void RemoveAt(Int32 index)
        {
            moField sField = _Fields[index];

            _Fields.RemoveAt(index);
            if (FieldRemoved != null)
            {
                FieldRemoved(this, index, sField);
            }
        }
Esempio n. 3
0
        private void _AttributeFileds_FieldRemoved(object sender, int fieldIndex, moField fieldRemoved)
        {
            Int32 sFeatureCount = _Features.Count;

            for (Int32 i = 0; i < sFeatureCount; i++)
            {
                moFeature sFeature = _Features.GetItem(i);
                sFeature.Attributes.RemoveAt(fieldIndex);
            }
        }
Esempio n. 4
0
 public void Append(moField field)
 {
     if (FindField(field.Name) >= 0)
     {
         throw new Exception("Fields对象中不能存在重名的字段!");
     }
     _Fields.Add(field);
     //触发事件,广播
     if (FieldAppended != null)
     {
         FieldAppended(this, field);
     }
 }
Esempio n. 5
0
        private moFeature CreateNewFeature()
        {
            moAttributes sAttributes = new moAttributes();
            Int32        sFieldCount = _AttributeFields.Count;

            for (Int32 i = 0; i <= sFieldCount - 1; i++)
            {
                moField sField = _AttributeFields.GetItem(i);
                if (sField.ValueType == moValueTypeConstant.dInt16)
                {
                    Int16 sValue = 0;
                    sAttributes.Append(sValue);
                }
                else if (sField.ValueType == moValueTypeConstant.dInt32)
                {
                    Int32 sValue = 0;
                    sAttributes.Append(sValue);
                }
                else if (sField.ValueType == moValueTypeConstant.dInt64)
                {
                    Int64 sValue = 0;
                    sAttributes.Append(sValue);
                }
                else if (sField.ValueType == moValueTypeConstant.dSingle)
                {
                    float sValue = 0;
                    sAttributes.Append(sValue);
                }
                else if (sField.ValueType == moValueTypeConstant.dDouble)
                {
                    double sValue = 0;
                    sAttributes.Append(sValue);
                }
                else if (sField.ValueType == moValueTypeConstant.dText)
                {
                    String sValue = "";
                    sAttributes.Append(sValue);
                }
                else
                {
                    throw new Exception("Invalid value type!");
                }
            }
            moFeature sFeature = new moFeature(_ShapeType, null, sAttributes);

            return(sFeature);
        }
Esempio n. 6
0
        private void _AttributeFileds_FieldAppended(object sender, moField fieldAppended)
        {
            Int32 sFeatureCount = _Features.Count;

            for (Int32 i = 0; i <= sFeatureCount - 1; i++)
            {
                moFeature sFeature = _Features.GetItem(i);
                if (fieldAppended.ValueType == moValueTypeConstant.dInt16)
                {
                    Int16 sValue = 0;
                    sFeature.Attributes.Append(sValue);
                }
                else if (fieldAppended.ValueType == moValueTypeConstant.dInt32)
                {
                    Int32 sValue = 0;
                    sFeature.Attributes.Append(sValue);
                }
                else if (fieldAppended.ValueType == moValueTypeConstant.dInt64)
                {
                    Int64 sValue = 0;
                    sFeature.Attributes.Append(sValue);
                }
                else if (fieldAppended.ValueType == moValueTypeConstant.dSingle)
                {
                    float sValue = 0;
                    sFeature.Attributes.Append(sValue);
                }
                else if (fieldAppended.ValueType == moValueTypeConstant.dDouble)
                {
                    double sValue = 0;
                    sFeature.Attributes.Append(sValue);
                }
                else if (fieldAppended.ValueType == moValueTypeConstant.dText)
                {
                    string sValue = string.Empty;
                    sFeature.Attributes.Append(sValue);
                }
                else
                {
                    throw new Exception("Invalid field value type!");
                }
            }
        }