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."); } }
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; }
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); } }
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; } }