Sorting a DataView?

I'm tryng to add some menu items at runtime using values from a datatable. I will like the menu items to be sorted.

This is the code I'm using:

Dim myDataView As DataView
myDataView = myDataTable.DefaultView
myDataView.Sort = "MenuCaption ASC"

For intLoop = 0 To myDataView.Table.Rows.Count - 1
  strMenuCaption = myDataView.Table.Rows(intLoop).Item(1).ToString
  miMaintanence.MenuItems.Add(New MenuItem(strMenuCaption, New EventHandler(AddressOf Me.OpenMaintanenceForm_Clicked)))
Next

I get no errors and the menu items displays and work ok .. but they are not sorted!!!??

What's wrong with this code? Can u help me out?
Massiel_VBAsked:
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

x
 
RuskConnect With a Mentor Commented:
you are looping in the table I would try looping in the view
by mydataview(i)
instead of mydataview.table.rows(i)


For intLoop = 0 To myDataView.Table.Rows.Count - 1
 strMenuCaption = myDataView.Table.Rows(intLoop).Item(1).ToString
 miMaintanence.MenuItems.Add(New MenuItem(strMenuCaption, New EventHandler(AddressOf Me.OpenMaintanenceForm_Clicked)))
Next
0
 
tnewc59Commented:
I would try 2 things:

The query that is returning the data for myDataTable could be modified to have an order by "MenuCaption ASC"


If you wish to sort the dataview on the "MenuCaption" field, I think you need:
myDataView.Sort = "MenuCaption"

0
 
Massiel_VBAuthor Commented:
Thanks for your comments:

I know I can modifiy the qry (right now is not a qry but I'm doing a direct table access) and that will be my last resource.

What puzzle me is that the listview does not sort at all.
I tried:

myDataView.Sort="MenuCaption ASC"
and
myDataView.Sort = "MenuCaption" as u proposed.. but it doesn't worked..
0
 
Massiel_VBAuthor Commented:
Yes, you are right: it works now,
Thank u very much
0
All Courses

From novice to tech pro — start learning today.