I'm looking in each field of each DataRow for the string values of either (M####) or (DATE) to change them to other things for display on a web page. Can anyone explain what kind of stupidity I've fallen into, please?Code:protected void processDS(DataSet ds) { DataTable dt; int i=0; batchLot = ds.Tables[0].Rows[0].ItemArray[0].ToString(); dt = ds.Tables[0]; foreach (DataRow dr in dt.Rows) { for(i=0;i<dr.ItemArray.Length;i++) { dr.ItemArray.SetValue(dr.ItemArray[i].ToString().Replace("(M####)",batchLot),i); dr.ItemArray.SetValue(dr.ItemArray[i].ToString().Replace("(DATE)",today.ToString("MMDDYY")),i); } } }