Можно сделать следующее:Datatable обновления без использования DataRow петли
У меня есть следующие DataTable
=================================
ID || Width || Value ||
=================================
size-1 || 50 || ||
name-1 || 100 || ||
zip-1 || 50 || ||
size-2 || 50 || ||
name-2 || 100 || ||
zip-2 || 50 || ||
=================================
Я хочу, чтобы иметь возможность петлю через DataTable и обновлять колонку значения, с значение textcontrolbox.text
Session[sectionName] = test;
DataTable dt = (DataTable)Session[sectionName];
var strIDS = from p in dt.AsEnumerable()
select new
{
ID = p.Field<string>("ID")
};
foreach (var strID in strIDS)
{
TextBox tempBox = DynamicControlsHolder1.FindControl(strID.ID) as TextBox;
string val = tempBox.Text;
// This is where i want to be able to update the value column, but i can't figure out how to
// Can someone please help
}
+1 для простого использования традиционного 'foreach', на самом деле я предпочитаю этот стиль больше, чем' LINQ', 'LINQ' просто для запроса OP. «LINQ» не всегда лучший, но многие люди всегда стараются использовать его как можно больше. –
wow, мне нравится, что это похоже, кажется, намного чище, но когда я попробовал это сейчас, он говорит, что findcontrol имеет некоторые недопустимые аргументы, и мне пришлось добавить следующее: foreach (DataRow Row в dt.rows) – user2593590
it работал, я просто должен был добавить для него следующее: foreach (DataRow Row в dt.Rows) { Строка ["Value"] = (DynamicControlsHolder1.FindControl ((строка) Строка ["ID"]) как TextBox).Текст; } – user2593590