Пример #1
0
        public List <ExpandoObject> ConvertToExpandoObjectList(List <FeatureItem> featureItems)
        {
            List <ExpandoObject> list = new List <ExpandoObject>();

            foreach (FeatureItem featureItem in featureItems)
            {
                var expandoObject = new ExpandoObject() as IDictionary <string, System.Object>;
                expandoObject.Add("[编号]", featureItem.OID);
                if (_displayName)
                {
                    expandoObject.Add("[信息]", featureItem.Name);
                }

                IFields fields = featureItem.MainFeature.Fields;
                for (int i = 0; i < fields.FieldCount; i++)
                {
                    IField field       = fields.Field[i];
                    string strGeometry = FeatureClassUtil.GetShapeString(featureItem.MainFeature);
                    if (field.Type == esriFieldType.esriFieldTypeGeometry)
                    {
                        expandoObject.Add(field.AliasName, strGeometry);
                    }
                    else if (field.Type != esriFieldType.esriFieldTypeBlob)
                    {
                        expandoObject.Add(field.AliasName, featureItem.MainFeature.Value[i]);
                    }
                    else
                    {
                        expandoObject.Add(field.AliasName, "二进制数据");
                    }
                }
                if (_displayRemarks)
                {
                    expandoObject.Add("[备注]", featureItem.Remarks);
                }

                list.Add(expandoObject as ExpandoObject);
            }

            return(list);
        }
Пример #2
0
        public List <ExpandoObject> ConvertToExpandoObjectList(List <FeatureItem> featureItems)
        {
            List <ExpandoObject> list = new List <ExpandoObject>();

            foreach (FeatureItem featureItem in featureItems)
            {
                var expandoObject = new ExpandoObject() as IDictionary <string, System.Object>;
                expandoObject.Add("[图层组]", featureItem.PipelineName);
                expandoObject.Add("[图层]", featureItem.PipeLayerName);
                expandoObject.Add("[检查项]", featureItem.CheckItem);
                expandoObject.Add("[检查信息]", featureItem.ErrDesc);

                if (featureItem.MainFeature != null)
                {
                    expandoObject.Add("[编号]", featureItem.OID);
                    IFields fields = featureItem.MainFeature.Fields;
                    for (int i = 0; i < fields.FieldCount; i++)
                    {
                        IField field       = fields.Field[i];
                        string strGeometry = FeatureClassUtil.GetShapeString(featureItem.MainFeature);
                        if (field.Type == esriFieldType.esriFieldTypeGeometry)
                        {
                            expandoObject.Add(field.AliasName, strGeometry);
                        }
                        else if (field.Type != esriFieldType.esriFieldTypeBlob)
                        {
                            expandoObject.Add(field.AliasName, featureItem.MainFeature.Value[i]);
                        }
                        else
                        {
                            expandoObject.Add(field.AliasName, "二进制数据");
                        }
                    }
                }
                list.Add(expandoObject as ExpandoObject);
            }

            return(list);
        }