2014-03-26 1 views
1

C와 Asp.net에서 Linq를 사용하여 student firstName과 같은 배열에서 모든 모듈을 가져 오는 방법은 어떻게됩니까? 아마도 그렇게하기 쉽지만 속임수를 얻지는 못했습니다. 도와주세요. 감사.LINQ를 사용하여 데이터를 가져 와서 gridview에 결과 표시

ArrayList arrList = new ArrayList(); //new array list for students 
     arrList.Add(
      new Student 
      { 
       FirstName = "Svetlana", 
       LastName = "Omelchenko", 
       Password = "hh", 
       modules = new string[] { "001", "002", "003", "004" } 
      }); 
     arrList.Add(
      new Student 
      { 
       FirstName = "Claire", 
       LastName = "O’Donnell", 
       modules = new string[] { "001", "002", "003", "004" } 
      }); 
     arrList.Add(
      new Student 
      { 
       FirstName = "Sven", 
       LastName = "Mortensen", 
       modules = new string[] { "001", "002", "003", "004" } 
      }); 
     arrList.Add(
      new Student 
      { 
       FirstName = "Cesar", 
       LastName = "Garcia", 
       modules = new string[] { "HH", "KK", "LL", "OO" } 
      }); 





      var query = from Student student in arrList 
        where student.FirstName == "Cesar" 
        select query; 

      GridView1.DataSource = query; 


      GridView1.DataBind(); 

결과를 Asp.net의 표에 넣으 려합니다. 도와주세요!!

+0

안녕, 얘들 덕분에, 어쩌면 내 질문은 처음에 명확하지 않았다 장소, 나는 어디 예를 들어 firstname = "cesar"문자열 배열에서 모듈을 얻고 싶습니다. 그리드보기에서 해당 사용자 이름과 관련된 모듈 만 원합니다. 다음과 같이 입력하십시오. var query = arrList의 학생 학생 student.FirstName == "Cesar" Student.modules를 선택하십시오. –

답변

2

검색어 끝에 ToList가 누락되었습니다.

그런 다음 그리드 뷰에 바인딩하십시오.

0

ArrayLists를 피하십시오. 목록을 대신 사용하십시오.

List<Student> StudentList = new List<Student>(); /* ... */ 

과 같이 당신은 쿼리 보일 것입니다 : 그런 다음 그리드를 결합

var query = from student in StudentList 
      where student.FirstName == "Cesar" 
      select student; 

:

GridView1.DataSource = query.ToList(); 
GridView1.DataBind(); 
0

List<Student> 대신 사용하는 것이 좋습니다 :

List<Student> list = new List<Student>(); 
    list.Add(
     // ... Just like in your OP 
    }); 

그런 다음 결과를 얻을 수 :

var result = from student in list 
      where student.FirstName == "Cesar" 
      select student; 

그런 다음 IEnumerable 반환에 ToList() 사용하여 데이터 소스에 결과를 추가 할 수 있어야한다 : 모든 답변에 대한

gridView.DataSource = result.ToList(); 
관련 문제