Add before and after the call to LoadRow the call to BeginLoadData() and EndLoadData().
The BeginLoadData turns off the event notifications, the index maintenance and the constraints check associated with the processing of the new data. This could improve the performance of LoadDataRow.
public void FillTable(DataTable myTable, IEnumerable<MyObject> readings)
{
var index=0;
try
{
dt.BeginLoadData();
foreach(var reading in readings) {
LoadRow(myTable, reading, index++);
}
}
finally
{
dt.EndLoadData();
}
}
Also be sure to resume the normal processing in case of failure.