It's stupid but it works!
You must have one column with unique value (ID in my example)
Dim cm As CurrencyManager = CType(BindingContext(Ds1.TableName), CurrencyManager)
Dim drv As DataRowView = cm.Current
... re-sort ...
Dim Position As Integer = -1
Dim i As Integer
For i = 0 To Ds1.TableName.DefaultView.Table.Rows.Count - 1
If Ds1.TableName.DefaultView(i).Item("ID") = drv.Item("ID") Then
Position = i
Exit For
End If
Next
dg.UnSelect(dg.CurrentRowIndex)
cm.Position = Position