<p>Which version of .NET are you using? Since .NET 3.5, there’s an assembly System.Data.DataSetExtensions, which contains various useful extensions for dataTables, dataRows and the like.</p>
<p>You can try using</p>
<pre><code class="lang-auto">row.Field<type>("fieldName");
</code></pre>
<p>if that doesn’t work, you can do this:</p>
<pre><code class="lang-auto">DataTable table = new DataTable();
var myColumn = table.Columns.Cast<DataColumn>().SingleOrDefault(col => col.ColumnName == "myColumnName");
if (myColumn != null)
{
// just some roww
var tableRow = table.AsEnumerable().First();
var myData = tableRow.Field<string>(myColumn);
// or if above does not work
myData = tableRow.Field<string>(table.Columns.IndexOf(myColumn));
}
</code></pre>