I have this code
foreach (DataRow row in dt.Rows) { Debug.WriteLine("Start of Row"); for (int i = 0; i < row.ItemArray.Length; i++) { string val = row.ItemArray[i].ToString(); row.ItemArray[i] = "My New Value"; Debug.WriteLine("val: {0}, new: {1}", val, row.ItemArray[i].ToString()); } }
but the value is never updated. I'm not sure why.
Start of Row val: 2/02/2012, new: 2/02/2012 val: ac, new: ac val: ac, new: ac val: 515.00, new: 515.00
Edit
A few more attempts
for (int i = 0; i < dt.Rows.Count; i++) { DataRow row = dt.Rows[i]; for (int x = 0; x < row.ItemArray.Length; x++) { string val = row.ItemArray[x].ToString(); row.ItemArray.SetValue("My New Value", x); Debug.WriteLine("val: {0}, new: {1}", val, row.ItemArray[x].ToString()); } } val: 2/02/2012, new: 2/02/2012 val: ac, new: ac val: ac, new: ac val: 515.00, new: 515.00
Another attempt
for (int i = 0; i < dt.Rows.Count; i++) { DataRow row = dt.Rows[i]; for (int x = 0; x < row.ItemArray.Length; x++) { string val = row.ItemArray[x].ToString(); row[i] = "My New Value"; Debug.WriteLine("val: {0}, new: {1}", val, row.ItemArray[x].ToString()); } }
gives me
System.Data.ReadOnlyException was unhandled by user code Message=Column 'Date' is read only. Source=System.Data StackTrace: at System.Data.DataRow.set_Item(DataColumn column, Object value) at System.Data.DataRow.set_Item(Int32 columnIndex, Object value) at CCRecomendator.Framework.Services.CreditCardRecommendatorService.ParseTransactions(Stream stream) in at CCRecomendator.WebUI.Controllers.RecommendController.UploadTransactions(HttpPostedFileBase file) in at lambda_method(Closure , ControllerBase , Object[] ) at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters) at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass15.<InvokeActionMethodWithFilters>b__12() at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation) InnerException:
So maybe read-only material or something else?
I use filehelpers , it creates data and rows. Not sure if he is doing something scared that is stopping me from doing what I want to do.