2016-10-05 2 views
-1

DataView를 DataView로 만듭니다. Dataview에서 첫 번째 DataTable의 정보를 필터링하고 정렬합니다. 그런 다음 내용을 정렬하고 필터링 한 DataView에서 새 DataTable을 만들려고했습니다.C# dataview to datatable null이됩니다.

모든 것이 올바르게 작동하지만 새 DataTable이 null이므로 원래 DataTable에서 콘텐츠를 잃어 버렸고 나머지 기능은 더 이상 작동하지 않습니다. 또한 File B @ System.Data.DataTable에 연결할 수없는 코드 경고가 나타납니다. dt480 = dv.ToTable();

나는 이것을 풀려고 노력할 것이지만, 내가 길을 가고 있는지, 올바른 길을 가고 있는지보고 싶습니다. 미리 감사드립니다.

코드가 저장된 두 개의 파일이 있습니다.

파일 A : ("명령")

static public void ElecOneLine1(System.Data.DataView dv) 
    { 
     string Path = Commands.LoadFile(); 
     System.Data.DataTable table = Commands.ReadExcelToTable(Path); 
     Commands.ElecDv480V(table);    
     //Commands.OneLineDt(dv);         
     Commands.InsertElec1LineBlockscd(); 
     Commands.DrawOneLineBuscd("OneLineBackground", 35.5478, 23.3750, 0, table.Rows[0]);    
     for (int i = 1; i < 8; i++) 
     { 
      Commands.DrawOneLineItem("" + table.Rows[1 + i][0], 4 + ((double)i * 3), 12.6835, 0, table.Rows[0], i + 1);     
     } 
    } 

파일 B :

public static DataView ElecDv480V(System.Data.DataTable dt) 
    { 
      System.Data.DataView dv = new DataView(dt); 
      dv.RowFilter = "F1 = '480V'"; 
      dv.Sort = "F2 ASC, F3 ASC"; 
      return dv;    
      System.Data.DataTable dt480 = dv.ToTable();          

    } 
+0

글쎄, 나는 문제를 알았지 만 파일 B에서 파일 A로 코드를 옮겨야했습니다. 모든 것을 고립되게 유지하라. – nebsi04

답변

1

return 마지막 진술서 좀 return 문이어야한다는

을 표시하는 방법의 실행을 종료
public static DataView ElecDv480V(System.Data.DataTable dt) 
    { 
      System.Data.DataView dv = new DataView(dt); 
      dv.RowFilter = "F1 = '480V'"; 
      dv.Sort = "F2 ASC, F3 ASC";       
      System.Data.DataTable dt480 = dv.ToTable(); 
      return dv;         

    } 

또한 데이터보기를 반환하므로 변수가 필요합니다. 당신이 누락 된 끝 부분도 .dt480에 대한 설정 값의 사용은 무엇입니까