Manas' basic approach works.
If you want to retain position in any relational data (either DataTable, or throught SQL), you must remember that tables are essentially order free. To get the effect you want, where items can have specific positions, I tend to work by adding an extra field (Index or Position) that can be used with an ORDER BY clause to get sorted results. In that case, inserting to the sorted data is equivalent to adding a row whose value for this extra field is between the values for the records above and below.
For DataTable objects, one of the Select method allows sorting the contents of the table. The following URL MSDN Article
] shows how to do this - simply specify the filter condition as "TRUE" to not filter data.
Hope this helps