문제

내가 갑자기 돌아 WinForms 의 년 후에,웹 개발,그리고 이 문제가 있는 뭔가가 간단해야 합니다.가 ArrayList 비즈니스의 개체 바 Windows Forms DataGrid.나는 사용자가 편집할 수 있는 세포 및 완료 할 때,누르면 저장 버튼이 있습니다.그 시점에서 나를 반복하는 모든 행과 열에 DataGrid 을 찾을 변경하고 저장할 데이터베이스입니다.그러나 나는 찾을 수없는 방법에 액세스 DataGrid 행이 있습니다.

한 유효성을 검증하려는 개별 셀,실시간으로 편집하지만,나는 확신을 할 수 있습니다.(아마로 ArrayListDataSource?) 그러나 반복 DataGrid, 에,나는 아주 놀라지 않는 것 가능합니다.

해야 합니 정말 물건 나의 사업체는 데이터로 datatables 을 사용하기 위해서는 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]);
}

다른 팁

object cell = myDataGrid[row, col];

거기에 아무것도에 대한 WinForms3.0 는 것보다 훨씬 더 1.1

I don't know about3.0 지만,당신이 할 수 있는 코드를 작성에 대 2008 년에서 실행됩니다.NET framework2.0.(그래서,당신이 사용하는 얻을 최신 C#언어 있지만,당신이 사용할 수 있습니다 2.0 라이브러리)

이 당신을 가져옵 제네릭(List<DataRow> 그들 대신 GodAwful ArrayLists)고 톤 다른 재료의,당신은 말 그대로 끝까지 작성 3 배 더 적은 코드입니다.

Aha,I was 정말 그냥 시험이 모두 다시 한 번!:)에 대한 진정한 해답입니다,당신은 거의 필요를 반복 datagrid.기 때문에 심지어 바인딩하는 경우 ArrayList,바인딩은 2 가지의 방법.여전히,그것은 편리하는 방법을 알고 itereate 그리드,직접 저장할 수 있습니다 몇 줄의 코드는 지금과 다음입니다.

하지만 NotMyself 및 오리온에게 더 나은 대답:을 설득해 관계자를 높은 버전의 C#을 개발 비용을 증가 유지 관리 및 extensability.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top