You can use Linq to Datatable to get this to work
Consider the following code snippet:
var dt = new DataTable("test");
dt.Columns.Add("dataColumn5", typeof(string));
dt.Rows.Add("D");
var dr = dt.NewRow();
dr[0] = null;
dt.Rows.Add(dr);
dt.Rows.Add("C");
dt.Rows.Add("A");
IEnumerable<DataRow> query =
dt.AsEnumerable()
.OrderByDescending(dtEnumer => dtEnumer.Field<string>("dataColumn5") != null)
.ThenBy(dtEnumer => dtEnumer.Field<string>("dataColumn5"));
foreach (var s in query)
Console.WriteLine("|{0}|", s[0]);
It produces the following output
|A|
|C|
|D|
||