2011-09-01 5 views
-1

ArrayList의 데이터를 DataTable로 전송하지만 모두 첫 번째 행에서 반복되는 결과 집합을 얻습니다. 코드에서 내 오류를 볼 수 있습니까? 고맙습니다!Arraylist to Datable 오류

내 코드는 다음과 같습니다 : 당신은 결코 당신의 배열 중 새 값을 잡는없는 것 같은

private void BindGridview() 
    { 
     cipDAL.openConnection(); 
     records = cipDAL.GetAllCIPS(); 
     string[] arr = records.OfType<object>().Select(o => o.ToString()).ToArray(); 
     DataTable dtNew = new DataTable(); 
     DataRow dr; 
     dtNew.Columns.Add("FY"); 
     dtNew.Columns.Add("CIP"); 
     dtNew.Columns.Add("STATUS"); 
     dtNew.Columns.Add("REVISION"); 
     dtNew.Columns.Add("PR"); 
     dtNew.Columns.Add("PA"); 
     dtNew.Columns.Add("CIPTOTAL"); 
     dtNew.Columns.Add("PLANTOTAL"); 
     dtNew.Columns.Add("CHECKED"); 
     dtNew.Columns.Add("CIPID"); 
     for(int i = 0; i < arr.GetLength(0); i++) 
     { 
      dr = dtNew.NewRow(); 
      dr[0] = arr.GetValue(0).ToString(); 
      dr[1] = arr.GetValue(1).ToString(); 
      dr[2] = arr.GetValue(2).ToString(); 
      dr[3] = arr.GetValue(3).ToString(); 
      dr[4] = arr.GetValue(4).ToString(); 
      dr[5] = arr.GetValue(5).ToString(); 
      dr[6] = arr.GetValue(6).ToString(); 
      dr[7] = arr.GetValue(7).ToString(); 
      dr[8] = arr.GetValue(8).ToString(); 
      dr[9] = arr.GetValue(9).ToString(); 
      dtNew.Rows.Add(dr); 

     } 
     gvCIP.DataSource = dtNew; 
     gvCIP.DataBind(); 
     cipDAL.closeConnection(); 
+0

arraylist? 큰 소리로 울부 짖는 2011 년입니다. –

답변

0

것 같습니다. 시도해보십시오.

for(int i = 0; i < arr.GetLength(0); i++) 
    { 
     dr = dtNew.NewRow(); 
     dr[0] = arr[i][0]; 
     dr[1] = arr[i][1]; 
     dr[2] = arr[i][2]; 
     dr[3] = arr[i][3]; 
     dr[4] = arr[i][4]; 
     dr[5] = arr[i][5]; 
     dr[6] = arr[i][6]; 
     dr[7] = arr[i][7]; 
     dr[8] = arr[i][8]; 
     dr[9] = arr[i][9]; 
     dtNew.Rows.Add(dr); 
    } 
+0

답장을 보내 주셔서 감사합니다. GetValue에서 오류가 발생합니다 (예 : 문자열에 GetValue에 대한 정의가 없습니다) – Charles

+0

문자열에서 개별 문자가 필요하다고 가정합니까? –

+0

이 정확한 것을 반영하도록 변경했습니다. 다시 한 번 감사드립니다. "인덱스가 배열 범위를 벗어났습니다."나는 아주 단순한 것을 간과하고있는 것처럼 느껴집니다. – Charles