-5

2 차원 배열을 사용하여 목록 컬렉션 (항목 : 연도)의 항목으로 표를 채우려면 어떻게해야합니까? 목록 컬렉션은 linq 쿼리를 사용하여 외부 데이터베이스에 의해 채워졌습니다.2 차원 배열을 사용하여 테이블 만들기

뷰 모델

public class TableViewModel 
{  
    public List<MovieViewModel> Movies { get; set; }   
    public MyViewModel[,] MovieValues { get; set; } 
} 

public class MyViewModel 
{ 
    public string MovieValue { get; set; }   
} 

public class MovieViewModel 
{ 
    public string Id { get; set; }   
    public string Name { get; set; } 
    public string Year { get; set; } 
} 

컨트롤러

TableViewModel item; 
item=new TableViewModel(); 
var AllMuvees = from d in db.MoviesTable  
      orderby d.Id            
      group d by d.Rating into M       
      select M; 

List<MovieViewModel> OldMovies; 
foreach (var a in M.AllMuvees) 
{ 
OldMovies.Add(new MovieViewModel() 
{ 
    Id = g.MovieId.ToString(), 
    Name =g.MovieName, 
    Year = g.MovieYear.ToString() 
}); 
} 


for (int i = 0; i < 10; i++) 
{ 
for (int j = 0; j < 10; j++) 
    { 
    item.MovieValues[i, j] = new MyViewModel() 
    { MovieValues = ***** 
(I need help here: I want to fill this with the Years from OldMovies)};  
    } 
    } 

return View(item); 
+4

나는 당신이 달성하고자하는 것을 절대 이해하지 못합니다 ... – themarcuz

+2

당신이 이해하지 못하는 것은 정상입니다. OP가 게시 한 코드는 거의 의미가 없습니다. 유효한 C#으로 간주 될 수있는 것과는 거리가 멀습니다. 또한 그는 자신의 도메인 모델을 표시하지 않았으므로 어떻게 보이는지, 어떤 속성이 포함되어 있는지 추측 할 수있었습니다. 이 문제가 개선되기를 바랍니다. –

+1

다른 사람과 같은 미안한 보트는 술 마시는 것 같아서 밤에 잘못 먹은 것처럼 들린다 :) –

답변

0

ListViewItem을보고 목록보기를 채우려 했습니까?

그렇지 않다면 배열 목록을 쉽게 사용할 수 있으며 심지어 벨로우처럼 foreach 루프에 채울 수도 있습니다.

foreach(var v in Muvees) 
{ListViewItem movieToAdd = new ListViewItem(); 
movieToAdd.Text = v.movieid; 
movieToAdd.SubItems.Add(v.rating); 
movieToAdd.SubItems.Add(v.movieName); 
listOfMovies.Items.Add(movieToAdd).BackColor = Color.Green;} //add colour just because you can 

그러나 목록이 바로 양식에 목록보기를 클릭 형태로 다음

을 설정 하위 항목을 배열 (listOfMovies) 내가 질문을 잘못 이해 한 경우 열을

죄송 추가 하지만이게 니가 필요하다고 생각하는거야?

0

10 × 10 전, J의 목적은 무엇입니까?

OldMovies의 각 MovieViewModel은 [index] 목록으로 가져올 수 있으며 인덱스는 0에서 OldMovies.Count 사이 여야합니다.

for(int i = 0; i < OldMovies.Count; i++) 
{ 
    var movie = OldMovies[i]; 
    //movie.Name 
    //movie.Year 
}