vb.net - Order DataTable after the population -


i have datatable use add, modify , delete data locally. datatable used populate grid.

i need order grid according integer value (importance).

i wanted implement 2 buttons increase or decrease importance of each record. reason wrote code:

 dim rownumber integer = 0      integer = 0 datatable.rows.count - 1         'search selected row in datagridview id         if datatable.rows(i)("id") = id             rownumber=         end if     next      if rownumber <> 0         datatable.rows(rownumber )("priority") -= 1         datatable.rows(rownumber - 1)("priority") += 1     end if 

it works fine first time, changes selected record , makes changes others adjust order. second time generates error.

this because datatable not automatically sorted according new priority order.

i know if there way sort datatable after changing original order of records (field priority)

try using dataview that:

dim dv new dataview(datatable) dv.sort = "priority" 

then use dv datasource grid.


based on comments, think need find row has other priority number:

dim rownumber integer = 0 dim prioritynumber integer = 0  integer = 0 dt.rows.count - 1   if dt.rows(i)("id") = id     rownumber =     prioritynumber = dt.rows(i)("priority")     dt.rows(i)("priority") -= 1   end if next  integer = 0 dt.rows.count - 1   if dt.rows(i)("id") <> id andalso dt.rows(i)("priority") = prioritynumber     dt.rows(i)("priority") += 1   end if next 

Comments

Popular posts from this blog

linux - xterm copying to CLIPBOARD using copy-selection causes automatic updating of CLIPBOARD upon mouse selection -

qt - Errors in generated MOC files for QT5 from cmake -