<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic sorting ascending value in ArcObjects SDK Questions</title>
    <link>https://community.esri.com/t5/arcobjects-sdk-questions/sorting-ascending-value/m-p/53512#M1419</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Dear All,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I???m writing code with vba to insert field values from attribute table to combo box, the code runs well but the values aren???t sorted ascending. The values in cboValue are depending on the selected field name in cboField. Could someone please help me how to sort the disordered value to ascending?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is my code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Private Sub cboField_Change()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim theDocument As IMxDocument&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set theDocument = ThisDocument&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim featLayer As IFeatureLayer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim featClass As IFeatureClass&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim featCursor As IFeatureCursor&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pFeature As IFeature&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Set featLayer = theDocument.FocusMap.Layer(2)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If featLayer Is Nothing Then Exit Sub&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Set featClass = featLayer.FeatureClass&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set featCursor = featClass.Search(Nothing, False)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pFeature = featCursor.NextFeature&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;cboValue.Clear&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Do While Not pFeature Is Nothing&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim strValue As String&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim existValue As Boolean&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim j As Integer&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;strValue = UCase$(pFeature.Value(pFeature.fields.FindField(cboField.Text)))&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;'Checking redudance value from field &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;existValue = False&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;For j = 0 To cboValue.ListCount - 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If strValue = cboValue.List(j) Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; existValue = True&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit For&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Next&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If existValue = False Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cboValue.AddItem strValue&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pFeature = featCursor.NextFeature&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Loop&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;End Sub&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 04 Dec 2010 11:01:37 GMT</pubDate>
    <dc:creator>vellaapriano</dc:creator>
    <dc:date>2010-12-04T11:01:37Z</dc:date>
    <item>
      <title>sorting ascending value</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/sorting-ascending-value/m-p/53512#M1419</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Dear All,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I???m writing code with vba to insert field values from attribute table to combo box, the code runs well but the values aren???t sorted ascending. The values in cboValue are depending on the selected field name in cboField. Could someone please help me how to sort the disordered value to ascending?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is my code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Private Sub cboField_Change()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim theDocument As IMxDocument&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set theDocument = ThisDocument&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim featLayer As IFeatureLayer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim featClass As IFeatureClass&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim featCursor As IFeatureCursor&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pFeature As IFeature&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Set featLayer = theDocument.FocusMap.Layer(2)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If featLayer Is Nothing Then Exit Sub&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Set featClass = featLayer.FeatureClass&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set featCursor = featClass.Search(Nothing, False)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pFeature = featCursor.NextFeature&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;cboValue.Clear&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Do While Not pFeature Is Nothing&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim strValue As String&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim existValue As Boolean&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim j As Integer&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;strValue = UCase$(pFeature.Value(pFeature.fields.FindField(cboField.Text)))&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;'Checking redudance value from field &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;existValue = False&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;For j = 0 To cboValue.ListCount - 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If strValue = cboValue.List(j) Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; existValue = True&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit For&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Next&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If existValue = False Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cboValue.AddItem strValue&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pFeature = featCursor.NextFeature&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Loop&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;End Sub&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 04 Dec 2010 11:01:37 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/sorting-ascending-value/m-p/53512#M1419</guid>
      <dc:creator>vellaapriano</dc:creator>
      <dc:date>2010-12-04T11:01:37Z</dc:date>
    </item>
    <item>
      <title>Re: sorting ascending value</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/sorting-ascending-value/m-p/53513#M1420</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;You could add your values to a List(Of T), sort that, then set your ComboBox's Datasource to this list.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;Dim cboValueList As New List(Of String)

Set featCursor = featClass.Search(Nothing, False)
Set pFeature = featCursor.NextFeature
Do While Not pFeature Is Nothing

 cboValueList.Add(UCase$(pFeature.Value(pFeature.fields.FindField(cb oField.Text))))

 Set pFeature = featCursor.NextFeature
Loop

cboValueList.Sort()
ComboBox1.DataSource = cboValueList&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 22:03:30 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/sorting-ascending-value/m-p/53513#M1420</guid>
      <dc:creator>JamesCrandall</dc:creator>
      <dc:date>2021-12-10T22:03:30Z</dc:date>
    </item>
    <item>
      <title>Re: sorting ascending value</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/sorting-ascending-value/m-p/53514#M1421</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;How about using a queryfilter when getting your cursor?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So instead of passing it nothing like:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set featCursor = featClass.Search(Nothing, False)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; ' Set an IQueryFilter to use ORDER BY to sort in YOUR_SORT_FIELD order
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pQueryFilter As IQueryFilter
&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pQueryFilter = New QueryFilter
&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pQueryFilterDefinition As IQueryFilterDefinition
&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pQueryFilterDefinition = pQueryFilter
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; pQueryFilter.SubFields = "*"
&amp;nbsp;&amp;nbsp;&amp;nbsp; pQueryFilter.WhereClause = ""
&amp;nbsp;&amp;nbsp;&amp;nbsp; pQueryFilterDefinition.PostfixClause = "ORDER BY YOUR_SORT_FIELD "
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; ' Get cursor from IFeatureLayer, which respects the layer's definition query
&amp;nbsp;&amp;nbsp;&amp;nbsp; ' Set pCursor = pFeatureLayer.Search(pQueryFilter, False)
&amp;nbsp;&amp;nbsp;&amp;nbsp; ' -OR-
&amp;nbsp;&amp;nbsp;&amp;nbsp; ' Get cursor from IFeatureClass, which DOES NOT use the layer's definition query
&amp;nbsp;&amp;nbsp;&amp;nbsp; ' and will return all features.
&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pCursor = pFeatureClass.Search(pQueryFilter, False)
&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Dec 2021 22:03:33 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/sorting-ascending-value/m-p/53514#M1421</guid>
      <dc:creator>JeffreyHamblin</dc:creator>
      <dc:date>2021-12-10T22:03:33Z</dc:date>
    </item>
  </channel>
</rss>

