コード例 #1
0
        private void PopulateFields(bool bIsStringField)
        {
            try
            {
                // Clear all items in fields combo
                cboFields.Items.Clear();
                ARLayer            arLayer         = (ARLayer)m_LayersIndex[cboLayers.SelectedIndex];
                ArcReaderSearchDef arSearchDef     = new ArcReaderSearchDefClass();
                ARFeatureCursor    arFeatureCursor = arLayer.SearchARFeatures(arSearchDef);

                // Get the first feature in order to access the field names
                ARFeature arFeature = arFeatureCursor.NextARFeature();

                // Loop through fields and add field names to combo
                int i;
                i = 0;
                while (i < arFeature.FieldCount)
                {
                    if (bIsStringField == true)
                    {
                        if (arFeature.get_FieldType(i) == esriARFieldType.esriARFieldTypeString)
                        {
                            cboFields.Items.Add(arFeature.get_FieldName(i));
                        }
                    }
                    else
                    {
                        if ((arFeature.get_FieldType(i) == esriARFieldType.esriARFieldTypeDouble) || (arFeature.get_FieldType(i) == esriARFieldType.esriARFieldTypeInteger) || (arFeature.get_FieldType(i) == esriARFieldType.esriARFieldTypeSingle) || (arFeature.get_FieldType(i) == esriARFieldType.esriARFieldTypeSmallInteger) || (arFeature.get_FieldType(i) == esriARFieldType.esriARFieldTypeOID))
                        {
                            cboFields.Items.Add(arFeature.get_FieldName(i));
                        }
                    }

                    i = i + 1;

                    if (cboFields.Items.Count != 0)
                    {
                        cboFields.SelectedIndex = 0;
                    }
                }
                ;
            }
            catch
            {
                MessageBox.Show("An error occurred populating the Field ComboBox.");
            }
        }
コード例 #2
0
 private string ARFeatureValueAsString(ARFeature pARFeature, int pFieldNameIndex)
 {
     // If there is an issue accessing the value the function returns a string of asterisks
     // There are many reason Asterisks may be returned...
     // The return value cant be cast into a string e.g. a BLOB value
     // The return value is stored within a hidden field in the PMF
     // The return value is a Geometry Object
     try
     {
         string pARFeatureValueAsString = pARFeature.get_Value(pARFeature.get_FieldName(pFieldNameIndex)).ToString();
         return(pARFeatureValueAsString);
     }
     catch
     {
         string pARFeatureValueAsString = "***";
         return(pARFeatureValueAsString);
     }
 }
コード例 #3
0
        private void PopulateFlexGrids(DataGridView pDataGrid, ARFeatureSet arFeatureSet)
        {
            //Get first feature in ARFeatureSet
            arFeatureSet.Reset();
            ARFeature arFeature = arFeatureSet.Next();

            //Exit if no features in set
            if (arFeature == null)
            {
                return;
            }

            //Change cursor while grid populates
            Cursor = Cursors.WaitCursor;

            //Clear Grid of any existing data
            pDataGrid.Rows.Clear();

            //Loop through and add field names
            for (int i = 0; i < arFeature.FieldCount; i++)
            {
                pDataGrid.Columns.Add(arFeature.get_FieldName(i), arFeature.get_FieldName(i));
            }

            //add values
            object[] values = new object[arFeature.FieldCount];

            //Populate Grid
            while (arFeature != null)
            {
                for (int i = 0; i < arFeature.FieldCount; i++)
                {
                    values[i] = ARFeatureValueAsString(arFeature, i);
                }

                pDataGrid.Rows.Add(values);

                //Move to next Feature in the FeatureSet
                arFeature = arFeatureSet.Next();
            }
            //Reset mouse cursor
            Cursor = Cursors.Default;
        }
コード例 #4
0
		private string ARFeatureValueAsString(ARFeature pARFeature, int pFieldNameIndex)
		{
			// If there is an issue accessing the value the function returns a string of asterisks
			// There are many reason Asterisks may be returned...
			// The return value cant be cast into a string e.g. a BLOB value
			// The return value is stored within a hidden field in the PMF
			// The return value is a Geometry Object
			try
			{
				string pARFeatureValueAsString = pARFeature.get_Value(pARFeature.get_FieldName(pFieldNameIndex)).ToString();
				return pARFeatureValueAsString;	
			}
			catch
			{
				string pARFeatureValueAsString = "***";
				return pARFeatureValueAsString;	
			}
		}