2014-09-08 2 views
0

다른 데이터베이스의 데이터를 가져 오기 위해 WCF 서비스를 사용하고 있습니다. 데이터 세트를 반환하는 webmethod GetAnalyst가 있습니다.캡션 속성을 기반으로 데이터 세트에서 데이터 가져 오기

public DataSet GetAnalysts() 
    { 
    } 

전문가리스트는 첫 번째 테이블에 존재한다 :

List<Analyst> Analysts = new List<Analyst>(); 
      DataSet ds = null; 
      try 
      { 
       ds = EServiceClient.GetAnalysts(); 
      } 

if (ds != null) 
       { 
        foreach (DataRow row in ds.Tables[0].Rows) 
        { 
         var analyst = new Analyst() 
         { 
          Name = row[1].ToString(), 
          LastName = row[2].ToString(), 
          PhoneNumber = row[3].ToString(), 
          Email = row[4].ToString() 
         }; 
         sectorService.SetSectorByName(ref analyst, row[0].ToString()); 
         Analysts.Add(analyst); 
        } 
       } 

문제 인덱스 변경 때때로 이름 때때로 최초로 컬럼 2 번째로되어있다 ..

유일한 수정 사항은 열의 캡션입니다. 예를 들어 이름이 포함 된 열의 캡션은 이름입니다.

캡션에 기반한 속성을 검색하는 방법은 무엇입니까?

감사

답변

0

난 그냥

public virtual int GetIndexByCaption(string caption, DataTable dt) 
     { 
      int columnIndex = -1; 
      try 
      { 
       foreach (DataColumn column in dt.Columns) 
       { 
        if (column.Caption == caption) 
        { 
         columnIndex = dt.Columns.IndexOf(column); 
         break; 
        } 
       } 
      } 
      catch(Exception ex) 
      { 
       Console.WriteLine(ex.Message); 
      } 
      return columnIndex; 
     } 
0

당신은 단지 실제 열 이름이 아닌 열 인덱스에 따라 데이터를 검색 할 수 row["columnname"].ToString()를 사용할 수 있습니다.

+0

이 i'have가 columname, 내가하지 캡션 값을 기준으로 인덱스를 얻을 수있는 방법을 썼다 단지 자막 마녀의 수정 프로그램입니다 –

+0

에만 열 이름 또는하여 데이터를 얻을 수 있습니다 색인 –

관련 문제