How to sort DataTable by two columns in c#

asp.net, c#, datatable, sorting

Solution

You can use LINQ to DataSet/DataTable

var newDataTable = yourtable.AsEnumerable()
                   .OrderBy(r=> r.Field<int>("ItemIndex"))
                   .ThenBy(r=> r.Field<int>("ItemValue"))  
                   .CopyToDataTable();

Problem

I have a `DataTable` that looks like below; ``` | ID | ItemIndex | ItemValue ce895bd9-9a92-44bd-8d79-986f991154a9 1 3 ae7d714e-a457-41a8-8bb4-b5a0471c3d2f 2 2 a774dff3-acc0-4f50-a211-a775e28dcae3 2 1 292bbd50-290b-4511-9e4e-2e74e3ebe273 3 2 ae7d714e-a457-41a8-8bb3-b5a0471c3d22 3 1 ``` I want to sort this table by `ItemIndex` first, then sort the sorted table by `ItemValue`. How can I achieve this? Edit: after sorting, I want my table like below; ``` | ID | ItemIndex | ItemValue ce895bd9-9a92-44bd-8d79-986f991154a9 1 3 a774dff3-acc0-4f50-a211-a775e28dcae3 2 1 ae7d714e-a457-41a8-8bb4-b5a0471c3d2f 2 2 ae7d714e-a457-41a8-8bb3-b5a0471c3d22 3 1 292bbd50-290b-4511-9e4e-2e74e3ebe273 3 2 ```

Original source