DevExpress MVC GridView-如何从集合(集合中的集合)动态添加X列数(foreach)?

DevExpress MVC GridView-如何从集合(集合中的集合)动态添加X列数(foreach)?,gridview,foreach,devexpress,dynamic-columns,devexpress-mvc,Gridview,Foreach,Devexpress,Dynamic Columns,Devexpress Mvc,我有一个DevExpress gridview,它可以正常工作,但是。。。在绑定模型中,它也是“VisitTypes”的集合,我不知道如何处理 它是“VisitTypeSummary”类型的列表(集合) 我要做的是为这个集合中的每个项目添加一个新列。集合如下所示: 访问类型ID 名字 计数 因此,结果应该如下所示(如果项目数为3): Col1:区域 Col2:名称 Col3:地址 Col4:VisitTypeSummary[0]。名称 Col5:VisitTypeSummary[1]。名称 C

我有一个DevExpress gridview,它可以正常工作,但是。。。在绑定模型中,它也是“VisitTypes”的集合,我不知道如何处理

它是“VisitTypeSummary”类型的列表(集合)

我要做的是为这个集合中的每个项目添加一个新列。集合如下所示:

  • 访问类型ID
  • 名字
  • 计数
  • 因此,结果应该如下所示(如果项目数为3):

    • Col1:区域
    • Col2:名称
    • Col3:地址
    • Col4:VisitTypeSummary[0]。名称
    • Col5:VisitTypeSummary[1]。名称
    • Col6:VisitTypeSummary[2]。名称
    • Col7:上次访问
    等等等等等等

    问题是我不知道该怎么做。。在PartialView中访问模型,我试图通过执行foreach(Model.VisitTypeSummary中的var项)来实现这一点,但它似乎和闻起来都是错误的

    下面是一些代码:

    var grid = Html.DevExpress().GridView(settings => {
    -- etc -->
    
    settings.Columns.Add("AntButikkMedBesoeksKode");
    settings.Columns.Add("BesoeksProsent");
    
    foreach (var VisitTypeSummary in the-model-i-cannot-figure-out) )
        {
        // add new column to the gridview                                                      
        }
    
    settings.Columns.Add("AntKundeBesoek");
    settings.Columns.Add("SumBesoekForSelger");
    settings.Columns.Add("SnittBesoekPrDagSelger");
    
    // and bind it in the end..
    @grid.Bind(Model).GetHtml()
    

    所以。。有人知道我怎么做吗?已经闲逛了一段时间,但没有成功。

    听起来你在描述一种主-细关系。模型中的每个记录都有一个VisitTypeSummary集合

    我建议将VisitTypeSummary集合放在detail视图中,而主模型显示为主数据集。详细视图将有一列列出VisitTypeSummary的名称,如果类扩展,您可以稍后添加更多列

    这将减少主网格视图中的总列数,从而简化用户界面并增强可用性

    编辑: 根据我的评论,如果您真的需要网格中的这些列,您可以使用for循环来添加它们:

    for (int i = 0; i < VisitTypeSummary.Count; i++)
    {
        settings.Columns.Add(string.Format("VisitTypeSummary[{0}].Name"), i);
    }
    
    for(int i=0;i
    这是有道理的,只是我需要它保持在同一个网格中,而不是将其作为主细节,其中细节在某种程度上是。。。没有直接连接到网格,如果我可以直接插入柱的话。。因此,我仍然需要弄清楚如何访问部分视图中的数据,这样我就可以手动将它们添加到列中了好的,在这种情况下,我想使用for循环是最好的选择。添加列时,可以使用标准点表示法:settings.Columns.Add(string.format(“VisitTypeSummary[{0}].Name”),i);其中i是for循环中的计数器(for(int i=0;i