Как программно итерировать строки datagrid?

Я внезапно вернулся к WinForms, после многих лет веб-разработки, и испытываю проблемы с тем, что должно быть простым. У меня есть ArrayList бизнес-объектов, привязанный к Windows Forms DataGrid. Я хотел бы, чтобы пользователь мог редактировать ячейки, а после завершения нажимал кнопку Save. В этот момент я хотел бы просмотреть все строки и столбцы в DataGrid, чтобы найти любые изменения и сохранить их в базе данных. Но я не могу найти способ доступа к строкам DataGrid.

Я также хочу проверять отдельные ячейки в реальном времени, по мере их редактирования, но я уверен, что это можно сделать. (Может быть, не с ArrayList в качестве DataSource?) Но что касается итерации DataGrid, я очень удивлен, что это не представляется возможным.

Должен ли я действительно запихивать данные моих бизнес-объектов в таблицы данных, чтобы использовать datagrid?

Решение
foreach(var row in DataGrid1.Rows)
{
  DoStuff(row);
}
//Or ---------------------------------------------   
foreach(DataGridRow row in DataGrid1.Rows)
{
  DoStuff(row);
}
//Or ---------------------------------------------
for(int i = 0; i< DataGrid1.Rows.Count - 1; i++)
{
  DoStuff(DataGrid1.Rows[i]);
}
Комментарии (1)

Есть ли что-нибудь в WinForms 3.0, что намного лучше, чем в 1.1.

Я не знаю насчет 3.0, но вы можете писать код в VS 2008, который работает на фреймворке .NET 2.0. (Таким образом, вы можете использовать новейший язык C#, но только библиотеки 2.0).

Это дает вам Generics (List вместо этих ужасных ArrayLists) и тонну других вещей, и в итоге вы напишете буквально в 3 раза меньше кода.

Комментарии (0)

Ага, я действительно просто проверял всех еще раз!:) Реальный ответ, Вы редко должны повторять datagrid. Поскольку, связывая с ArrayList, закрепление - 2 пути. Однако, удобно знать, как к itereate сетка непосредственно, это может спасти несколько линий кодекса время от времени.

Но NotMyself и Orion дали лучшие ответы: Убедите заинтересованные стороны двигаться до более высокой версии C#, сокращать затраты развития и ремонтопригодность увеличения и расширяемость.

Комментарии (0)