Hi James,
I'm trying to use the function in the previous thread but it displays this error:
Unable to cast COM object of type 'System.__ComObject' to interface type 'ESRI.ArcGIS.Carto.IFeatureLayer'
because the function needs featurelayer parameter and I have accessed to it featureclass, I cannot find a method to convert the featureclass to featurelayer
Here is the function code and button code:
Public Sub Sort_Unique(ByVal pLayer As IFeatureLayer, ByVal fieldname As String, ByVal condition As IQueryFilter)
Dim pTable As ITable
Dim pTableSort As ITableSort
Dim sFieldName As String = fieldname
Dim pCursor As ICursor
Dim pFeatureLayer As IFeatureLayer
pFeatureLayer = New FeatureLayer
' Gets the attribute table from the passed layer
pTable = pLayer.FeatureClass
' This example sorts the specificed field name
pTableSort = New TableSort
With pTableSort
.Fields = sFieldName
.Ascending(sFieldName) = True
.Table = pTable
End With
' sort the table
pTableSort.Sort(Nothing)
' Loop through sorted records and add to a listbox
pCursor = pTableSort.Rows
Dim pData As IDataStatistics
pData = New DataStatistics
pData.Field = fieldname
pCursor = pLayer.Search(condition, False)
pData.Cursor = pCursor
Dim pEnumVar As System.Collections.IEnumerator
Dim value As Object
pEnumVar = pData.UniqueValues
value = pEnumVar.MoveNext
For i = 0 To pData.UniqueValueCount - 1
Dist_List.Items.Add(CStr(pEnumVar.Current)) '<--- this should add the values to your cmbLot Control
value = pEnumVar.MoveNext
Next
End Sub
Private Sub Fill_Dist_List_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Fill_Dist_List.Click
Dim pGDBWSF As IWorkspaceFactory
pGDBWSF = New FileGDBWorkspaceFactory
Dim pWorkSpace As IWorkspace
pWorkSpace = pGDBWSF.OpenFromFile("E:\ArcGis Engine Projects\Data Layers\SDE GDB\sde_gdb.gdb", 0)
Dim pEnumDataset As IEnumDataset
pEnumDataset = pWorkSpace.Datasets(esriDatasetType.esriDTFeatureDataset)
Dim pDataset As IDataset
pDataset = pEnumDataset.Next
Dim FCN As String
FCN = Gov_List.SelectedText
Dim pFeatureworkspace As IFeatureWorkspace
pFeatureworkspace = pGDBWSF.OpenFromFile("E:\ArcGis Engine Projects\Data Layers\SDE GDB\sde_gdb.gdb", 0)
Dim pFeatureclass As IFeatureClass
pFeatureclass = pFeatureworkspace.OpenFeatureClass("amman_dist")
Dim pFeaturelayer As IFeatureLayer
'pFeaturelayer = pFeatureclass
Dim Fieldname As String
Fieldname = "DIST_NA"
Dim pQFilter As IQueryFilter
pQFilter = New QueryFilter
pQFilter.WhereClause = "DIST_NA = 'ا�?جا�?عة' OR DIST_NA = 'ا�?ج�?زة' OR DIST_NA = 'ا�?ج�?ز�?' OR DIST_NA 'ا�?�?�?�?س�?�?'"
Sort_Unique(pFeatureclass, Fieldname, pQFilter)
End Sub
Thanks alot