使用二维数组创建表


如何使用

二维数组用列表集合(项目:年份)中的项目填充表格?列表集合由使用 linq 查询的外部数据库填充。

视图模型

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);

您是否尝试过查看列表视图项,然后填充列表视图?

如果没有,那么您可以轻松使用数组列表,甚至可以将其填充到像波纹管这样的 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

排列子项目,但您的列表已列出

然后在表单中右键单击表单中的列表视图(列表电影)并添加列

对不起,如果我误解了这个问题,但我认为这就是你需要的?

10x10 i,j 的目的是什么?

您可以通过列表[索引]获取OldMovies中的每个MovieViewModel,并且该索引必须介于0到OldMovies.Count之间。

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

最新更新