2012-05-01 1 views
0

사용자에게 동적으로 채워진 gridview에 대해 정렬 루틴을 코딩하려고합니다. Users. C# 코드에서 datatable 행에 열을 채우려는 구문 오류가 있습니다.C# 구문 문제 - 데이터 행에 값을 추가하려고합니다.

for (int j = 0; j <= Users.Rows.Count - 1; j++) 
    { 
     DataRow dr = default(DataRow); 
     GridViewRow row = Users.Rows[j]; 
     dr = dt.NewRow(); 
     DataView dvUsers = new DataView(dt); 

     for (int i = 0; i <= row.Cells.Count - 1; i++) 
     { 
      dr.Item(i) = row.Cells[i].Text; 
     } 

     dt.Rows.Add(dr); 
    } 

오류 메시지 :

System.Data.DataRow은 "항목"에 대한 정의를 포함하지 않는

누군가가 DataRow를이 값을 할당 할 올바른 구문을 도와 드릴까요 ? 내가 당신을 감사합니다 C#

새로운 오전

, 당신은 단지 데이터 테이블 일치의 열을 가정

dr.Item(i) = row.Cells[i].Text; 

dr[i] = row.Cells[i].Text; 

에 라인을 변경해야

답변

3

테이블의 셀 순서.

()은 메서드를 호출하는 데 사용되고 []indexer을 나타냅니다. 이것이 컴파일 오류의 원인입니다. DataRowItem 메서드가 없습니다. 인덱서입니다.

편집

dr[i]dr.Item[i] 변경. 주석에 설명 된대로 Item이 기본 인덱서이므로 속성을 지정하지 않으면 개체 자체에 제공된 인덱스가 Item 인덱서에 적용됩니다.

+0

이 줄 ........ dr.Item [I] = row.Cells의 [I]는 .text; ....... 동일한 오류가 발생합니다. – htm11h

+0

'dr [i] = row.Cells [i] .Text'입니다. * Item *은 기본 인덱서이므로 개체 자체의 인스턴스에 대한 인덱서로 적용됩니다. 속성을 지정하지 않았습니다. – Jcl

2

이 시도 : 코드

dr[i] = row.Cells[i].Text;

관련 문제